我试图得到一个简单的webhook(用PHP编写)来处理谷歌上的dialogflow / actions。我有一个对话框流程意图标记为“你好”,它链接到“谷歌助理欢迎”和对话流“欢迎”事件。
它被设置为启用webhook,一切都在对话框流测试区域中正常工作。但是,当我在谷歌助手测试时,我收到以下错误:
“MalformedResponse无法将Dialogflow响应解析为AppResponse。”
我不知道有什么不对。以下是我的JSON响应:
{
"payload": {
"google": {
"expectUserResponse": false,
"richResponse": {
"items": {
"simpleResponse": {
"textToSpeech": "test speech"
}
}
}
}
},
"fulfillmentText": "fulfillment test"
}
谢谢!
它适用于Dialogflow测试区域,因为它只测试响应的Dialogflow部分。它忽略了平台特定的payload
区域下的任何东西。
您的有效负载包含一个小错误。 items
的richResponse
属性应该是一系列item对象,即使你只发送一个。
所以你的JSON部分看起来应该更像:
"richResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": "test speech"
}
}
]
}