我在API.AI和谷歌行动方面很新。我有一个清单的项目,这是由一个实现。我想获取用户选择的选项。我试过阅读文档,但我似乎无法理解它。
我也尝试过设置后续的意图,但这是行不通的。最后总是会做出退步反应。
我试图搜索一个产品或什么,结果显示使用列表选择器格式。我想获取我选择的选项。这是一个search_product意图,我有一个后续意图choose_product
发布于 2017-07-18 15:13:09
您有两个选项可以获得关于API.AI中Google /carousel选择事件的操作信息:
actions_intent_OPTION
事件正如囚徒已经提到的,您可以使用actions_intent_OPTION
创建一个意图。这个意图将匹配包含列表/旋转木马选择如这里所记载的的查询。
API.AI将把列表/旋转木马选择传递给您的web钩子,可以通过以下任何一种方法来检索:
( A)使用使用Node.js ()方法对Google app.getContextArgument客户端库的操作。
( B)使用webhook请求体中的originalRequest
JSON检索列表/旋转木马选择事件。列表/旋转木马选择事件web钩子请求的结构如下所示:
{
"originalRequest": {
"data": {
"inputs": [
{
"rawInputs": [
{
"query": "Today's Word",
"inputType": "VOICE"
}
],
"arguments": [
{
"textValue": "Today's Word",
"name": "OPTION"
}
],
"intent": "actions.intent.OPTION"
}
],
...
发布于 2017-07-17 03:42:07
这是对你的问题的一个侧面的回答--但是如果你对行动是陌生的,那么你可能并不真正理解设计你自己的行动的最佳方法。
与其关注更高级的响应类型(如列表),不如将注意力集中在您希望与用户进行的会话上。不要试图限制他们的反应--扩大你认为你能接受的内容。关注基本的会话元素和你的基本会话反应。
一旦您实现了一个好的会话,那么您可以返回并添加有助于对话的元素。这个列表应该是用户可以做什么的建议,而不是他们必须做什么的限制。
对于会话接口,我们必须在对话框之外思考。
发布于 2017-08-22 20:25:01
在从列表/旋转木马中选择项目时,在试图触发的意图的事件部分中包括“actions_intent_OPTION”(两者都有效)。然后,在Web钩子中触发的函数中使用以下代码,而不是getContextArguments()或getItemSelected():
const param = assistant.getArgument('OPTION');
或app.getArgument(‘选项’);
根据您命名的ApiAiApp (即):
let Assistant = require('actions-on-google').ApiAiAssistant;
const assistant = new Assistant({request: req, response: response});
然后,在list/carousel帮助程序的文档中,继续在示例的其余部分中进行操作。我不知道这到底是为什么,但是这个方法显然是从JSON请求中检索actions_intent_OPTION参数。
https://stackoverflow.com/questions/45140152
复制