如何在Dialogflow中的webhook响应中集成Google Actions响应?

时间:2018-03-02 10:21:04

标签: actions-on-google dialogflow

我正在尝试弄清楚如何在DialogFlow的webhook响应中嵌入Google Actions响应,例如cards carousel

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操作响应丰富Dialogflow webhook响应?

1 个答案:

答案 0 :(得分:1)

Google上的操作文档仍然是指Dialogflow V1协议文档,Google的node.js库仅支持V1协议。由于听起来您正在尝试使用Dialogflow V2 Beta,因此您需要更改格式化JSON的方式。

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

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