【问题标题】:How can I integrate the Google Actions responses in a webhook response in Dialogflow?如何将 Google Actions 响应集成到 Dialogflow 中的 webhook 响应中?
【发布时间】:2018-08-10 13:13:52
【问题描述】:

我正在尝试弄清楚如何将 Google Actions 响应(例如 cards carousel)嵌入到 DialogFlow 的 webhook 响应中。

https://developers.google.com/actions/dialogflow/webhook,我发现了以下信息:

Dialogflow webhook 的响应格式包含标准 Dialogflow webhook 响应内容和一个 data.google 对象,该对象与标准对话 webhook 响应非常相似,但存在以下一般差异。

所以我尝试使用 data.google 结构扩展 webhook 响应,如下所示:

{
   "fulfillmentText":"Please select any card you like.",
   "data":{
      "google":{
         ...
      }
   }
}

console 中测试时,出现以下错误:

Webhook 调用失败。错误:无法解析 webhook JSON 响应:找不到字段:消息 google.cloud.dialogflow.v2beta1.WebhookResponse 中的数据。

查看definition of WebhookResponse,好像确实没有data字段。

我在兜圈子。我的问题基本上是:如何使用 Google Actions 响应丰富 Dialogflow webhook 响应?

【问题讨论】:

    标签: actions-on-google dialogflow-es


    【解决方案1】:

    Actions on Google 的文档仍然参考 Dialogflow V1 协议文档,Google 的 node.js 库仅支持 V1 协议。由于听起来您正在尝试使用 Dialogflow V2 Beta,因此您需要更改 JSON 格式。

    V2Beta 不像 V1 中那样使用 data.google 数据结构,而是使用 payload.google 字段(即,其中包含 google 对象的 payload 对象)。 (请参阅“响应”部分下的https://dialogflow.com/docs/fulfillment#requirements,然后单击 V2 选项卡。)

    payload.google 字段将设置为与 data.google 字段的内容设置相同的内容。

    【讨论】:

    • 谢谢,我没有意识到文档仍然是面向 V1 的。我将首先尝试将 Google Actions 嵌入到 payload 字段中。
    • 未来读者请注意:此评论不是最新的,因此不完全正确。有关工作示例,请参阅 stackoverflow.com/a/49131136/9038652
    • 其实,谢谢你提醒我我想解决这个问题。我现在已经更正了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    相关资源
    最近更新 更多