我正在尝试弄清楚如何在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响应?
答案 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
字段的内容设置为相同的内容。