什么是“无法将Dialogflow响应解析为AppResponse”。在Google行动中的意思是

时间:2019-03-18 15:30:05

标签: php json dialogflow actions-on-google

我正在尝试使用一个简单的webhook(用PHP编写)来与Google上的dialogflow /动作一起使用。我有一个对话框流程意图标签为“ hello”,该意图链接到“ Google Assistant Welcome”和对话框流程“ welcome”事件。

设置为启用Webhook,并且在对话框流测试区域中一切正常。但是,当我在Google Assistant中对其进行测试时,出现以下错误:

“格式错误的响应 无法将Dialogflow响应解析为AppResponse。”

我不知道怎么了。这是我的JSON响应的样子:

{
  "payload": {
    "google": {
      "expectUserResponse": false,
      "richResponse": {
        "items": {
          "simpleResponse": {
            "textToSpeech": "test speech"
          }
        }
      }
    }
  },
  "fulfillmentText": "fulfillment test"
}

谢谢!

1 个答案:

答案 0 :(得分:1)

它在Dialogflow测试区域中起作用,因为它仅测试响应的Dialogflow部分。它会忽略特定于平台的payload区域下的任何内容。

您的有效载荷包含一个小错误。 richResponseitems属性应该是item对象的数组,即使您只发送一个。

因此JSON的该部分应类似于:

  "richResponse": {
    "items": [
      {
        "simpleResponse": {
          "textToSpeech": "test speech"
        }
      }
    ]
  }