从API.ai请求中获取Locale

时间:2017-09-14 10:03:44

标签: dialogflow actions-on-google

我正在使用带有API.ai的action-on-google ApiAiAssistant node.js库来设计我的聊天机器人。

我专门为它创建了一个德国API.ai代理。因此,我需要从请求到webhook获取区域设置值,以了解请求来自哪个区域设置。

我见过像ApiAiAssistant.getLocale这样的方法来从请求中获取语言环境信息,但我无法从文档中找到具体的方法。

该方法是否已弃用?如何从API.ai webhook请求中获取区域设置信息?

1 个答案:

答案 0 :(得分:3)

您可能正在寻找getUserLocale()方法。 https://developers.google.com/actions/reference/nodejs/AssistantApp#getUserLocale

例如:

const app = new ApiAiApp({request, response});
const locale = app.getUserLocale();

它返回语言/语言环境组合(例如“en-AU”)。

如果您只是使用JSON对象而不是API,则可以在originalRequest.data.user.locale找到值。这与方法返回的值相同。

如果您只想要API.AI返回的非标准语言字段,则可以使用lang字段。这不能通过API获得,只需直接读取JSON,并且只包含语言信息 - 而不是语言环境信息。另一方面,如果您将它用于多个平台,lang可用,而不仅仅是Google上的操作。 (但如果您将其用于其他平台 - 您可能不希望使用action-on-google node.js库。)