首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Api.ai上动态添加建议芯片,以便在google上执行操作

在Api.ai上动态添加建议芯片,以便在google上执行操作
EN

Stack Overflow用户
提问于 2017-06-07 09:46:15
回答 3查看 1.1K关注 0票数 0

我想在我的中为用户添加建议。我正在使用API.ai进行bot开发和实现,我正在与后端进行数据通信。

我不能用建议芯片发送建议给我的机器人。

我遵循了这里的答复,Webhook response with "suggestion chips"以及https://developers.google.com/actions/assistant/responses#json的文档。但是,我在设备上和模拟器上只看到了在我的机器人上的简单文本响应。

我也在https://discuss.api.ai/t/google-assistant-rich-message-responses/5134/19查过了。但没有找到任何方法来切换到V1或V2。样例格式也不起作用!

以下是我的两个JSON:

at API.ai

代码语言:javascript
运行
复制
"fulfillment": {
  "speech": "want to proceed further?",
  "messages": [
    {
      "type": 0,
      "speech": "want to proceed further?"
    }
  ],
  "data": {
    "google": {
      "conversationToken": "[\"AS-PER-JSON-FROM-SIMULATOR\"]",
      "expectedInputs": [
        {
          "inputPrompt": {
            "richInitialPrompt": {
              "items": [
                {
                  "simpleResponse": {
                    "textToSpeech": "want to proceed further?",
                    "displayText": "want to proceed further?"
                  }
                }
              ],
              "suggestions": [
                {
                  "title": "Yes"
                },
                {
                  "title": "No"
                }
              ]
            }
          }
        }
      ]
    }
  }
},

在Google上的行动

代码语言:javascript
运行
复制
"expectUserResponse": true,
    "expectedInputs": [
        {
            "inputPrompt": {
                "richInitialPrompt": {
                    "items": [
                        {
                            "simpleResponse": {
                                "textToSpeech": "want to proceed?"
                            }
                        }
                    ]
                },
                "noMatchPrompts": [],
                "noInputPrompts": []
            },
            "possibleIntents": [
                {
                    "intent": "assistant.intent.action.TEXT"
                }
            ],
            "speechBiasingHints": [
                "$subject",
                "$answer"
            ]
        }
    ]

python服务器

代码语言:javascript
运行
复制
return = '{"speech":"want to proceed?", "data": {"google":{"expectedInputs":[{"inputPrompt":{"richInitialPrompt":{"items":[{"simpleResponse":{"textToSpeech":"want to proceed?","displayText":"want to proceed?"}}],"suggestions":[{"title":"Yes"},{"title":"No"}]}}}]}}}'
EN

回答 3

Stack Overflow用户

发布于 2017-06-07 11:25:04

您的JSON是错误的,删除数据对象之前的引号:

代码语言:javascript
运行
复制
"data" : { ... }

而不是

代码语言:javascript
运行
复制
"data" : "{ ... }"

因此,基本上,您是在发送一个包含对象的字符串,而不是JSON对象。

票数 0
EN

Stack Overflow用户

发布于 2017-06-07 16:01:33

使用格式解决,如这里所解释的,https://developers.google.com/actions/apiai/webhook

票数 0
EN

Stack Overflow用户

发布于 2017-06-09 04:03:55

'expectUserResponse'添加到data -> google

代码语言:javascript
运行
复制
'expectUserResponse': true,
'isSsml': false,
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44409088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档