“无法将Dialogflow响应解析为AppResponse。”在Google上的操作中意味着什么

问题描述 投票:0回答:1

我试图得到一个简单的webhook(用PHP编写)来处理谷歌上的dialogflow / actions。我有一个对话框流程意图标记为“你好”,它链接到“谷歌助理欢迎”和对话流“欢迎”事件。

它被设置为启用webhook,一切都在对话框流测试区域中正常工作。但是,当我在谷歌助手测试时,我收到以下错误:

“MalformedResponse无法将Dialogflow响应解析为AppResponse。”

我不知道有什么不对。以下是我的JSON响应:

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

谢谢!

php json dialogflow actions-on-google
1个回答
1
投票

它适用于Dialogflow测试区域,因为它只测试响应的Dialogflow部分。它忽略了平台特定的payload区域下的任何东西。

您的有效负载包含一个小错误。 itemsrichResponse属性应该是一系列item对象,即使你只发送一个。

所以你的JSON部分看起来应该更像:

  "richResponse": {
    "items": [
      {
        "simpleResponse": {
          "textToSpeech": "test speech"
        }
      }
    ]
  }
© www.soinside.com 2019 - 2024. All rights reserved.