首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对Google工作的操作,但是一个对话框代理被破坏了

对Google工作的操作,但是一个对话框代理被破坏了
EN

Stack Overflow用户
提问于 2018-06-07 12:44:53
回答 1查看 434关注 0票数 2

我有一个与Actions on GoogleDialogflow & AWS Lambda的项目来管理实现。在后端(NodeJs),我使用actions-on-google (v2)

代码语言:javascript
复制
const {dialogflow} = require('actions-on-google');
const app = dialogflow({debug: true});

app.intent('StartIntent', (conv) => {
  console.log('Hello AWS');
  conv.ask('Hello AWS');
});
exports.handler = app

对话框流配置有一个意图的StartIntent & webhook实现。

当我在Google模拟器上测试动作时,一切似乎都很好。我得到了“Hello”的预期答案。

但是,它不适用于对话框流模拟器。没有答案,尽管我可以阅读诊断信息中的“Web钩子执行成功”,并得到正确的实现响应:

代码语言:javascript
复制
{
  "payload": {
    "google": {
      "expectUserResponse": true,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "Hello AWS"
            }
          }
        ]
      },
      "userStorage": "{\"data\":{}}"
    }
  },
  "outputContexts": [
    {
      "name": "projects..../_actions_on_google",
      "lifespanCount": 99,
      "parameters": {
        "data": "{}"
      }
    }
  ]
}

这对我来说真的很奇怪,因为Google上的动作只是打个电话给对话框,这样就能得到很好的响应。然而,单独测试对话框流不起作用。

知道吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-07 15:59:53

这是意料之中的。actions on Google库为Google助手集成调整了其输出。它不尝试包含泛型对话框流代理使用的输出,这是对话框流测试字段所使用的输出。

如果它在助理模拟器工作-你应该是好的。

更新

具体来说,Google库在JSON响应中在payload.google.richResponse中设置了值,这些值设置了Google显示的消息。顾名思义,这是Google特有的输出,因此对话框流测试侧栏(以及其他处理对话框流的代理)忽略了这一部分。

Dialogflow有返回消息的一般方法,包括JSON响应中的fulfillmentTextfulfillmentMessages字段。对话框流测试侧栏使用这些字段来显示结果。google上的操作库没有设置或使用这些字段,因此结果不可用.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50741575

复制
相关文章

相似问题

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