Php 什么是;无法将Dialogflow响应解析为AppResponse。”;谷歌的行动意味着什么

Php 什么是;无法将Dialogflow响应解析为AppResponse。”;谷歌的行动意味着什么,php,json,dialogflow-es,actions-on-google,Php,Json,Dialogflow Es,Actions On Google,我正在尝试获得一个简单的webhook(用PHP编写)来在google上使用dialogflow/actions。我有一个对话框流意图标记为“你好”,它链接到“谷歌助手欢迎”和对话框流“欢迎”事件 它被设置为启用webhook,并且在对话框流测试区域中一切都正常工作。然而,当我在google assistant中测试它时,我得到以下错误: “畸形反应 无法将Dialogflow响应解析为AppResponse。“ 我不知道出了什么事。下面是我的JSON响应的样子: { "payload":

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

它被设置为启用webhook,并且在对话框流测试区域中一切都正常工作。然而,当我在google assistant中测试它时,我得到以下错误:

“畸形反应 无法将Dialogflow响应解析为AppResponse。“

我不知道出了什么事。下面是我的JSON响应的样子:

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

谢谢

它在Dialogflow测试区域中工作,因为它只测试响应的Dialogflow部分。它忽略平台特定的
有效载荷
区域下的任何内容

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

因此,JSON的这一部分应该更像:

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

它在Dialogflow测试区域中工作,因为它只测试响应的Dialogflow部分。它忽略平台特定的
有效载荷
区域下的任何内容

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

因此,JSON的这一部分应该更像:

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