Dialogflow es Google Action fulfillment在模拟器中不工作

Dialogflow es Google Action fulfillment在模拟器中不工作,dialogflow-es,Dialogflow Es,我在Dialogflow中使用webhook设置了一个操作,使用ngrok隧道指向本地服务器。当使用Dialogflow的TestNow功能时,webhook正在工作,请求被发送到webhook,响应被接收,但是当在模拟器中测试时,它说操作现在没有响应。在ngrok日志中,我可以看到向端点发出的请求与使用Test now时相同。 在模拟器的日志中,它显示了格式错误的响应:无法将Dialogflow响应解析为AppResponse 以下是从Dialogflow的诊断信息中看到的履行响应: {

我在Dialogflow中使用webhook设置了一个操作,使用ngrok隧道指向本地服务器。当使用Dialogflow的TestNow功能时,webhook正在工作,请求被发送到webhook,响应被接收,但是当在模拟器中测试时,它说操作现在没有响应。在ngrok日志中,我可以看到向端点发出的请求与使用Test now时相同。 在模拟器的日志中,它显示了格式错误的响应:无法将Dialogflow响应解析为AppResponse

以下是从Dialogflow的诊断信息中看到的履行响应:

{
  "payload": {
    "google": {
      "expectUserResponse": false,
      "richResponse": {
        "items": {
          "simpleResponse": {
            "textToSpeech": "test",
            "displayText": "test"
          }
        }
      }
    }
  }
}

在这篇评论中找到了解决方案, 原来items数组中的simpleResponse元素必须包装在另一个数组中,如下所示:

"webhookPayload": {
  "google": {
     "richResponse": {
     "items": [
        {
          "simpleResponse": {
            "displayText": "test",
            "textToSpeech": "test"
          }
        }
      ]
    },
    "expectUserResponse": false
  }
},