我正在使用带有API.ai的action-on-google ApiAiAssistant node.js库来设计我的聊天机器人。
我专门为它创建了一个德国API.ai代理。因此,我需要从请求到webhook获取区域设置值,以了解请求来自哪个区域设置。
我见过像ApiAiAssistant.getLocale这样的方法来从请求中获取语言环境信息,但我无法从文档中找到具体的方法。
该方法是否已弃用?如何从API.ai webhook请求中获取区域设置信息?
答案 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库。)