【问题标题】:Why the API.AI always return "Webhook call failed. Error: Webhook response was empty."为什么 API.AI 总是返回“Webhook 调用失败。错误:Webhook 响应为空。”
【发布时间】:2017-09-28 02:51:21
【问题描述】:

当我在 google 项目和 API.AI 代理上创建操作时,我使用自己的服务作为 API.AI 实现 webhook。我希望 API.AI 会调用我的 webhook。但是当我通过谷歌上的动作模拟器测试它时,API.AI 总是返回:

"message": "Unexpected apiai response format: Empty speech response",
"apiResponse": {
  "id": "905d5727-bea8-4630-8d3a-e6c173159a94",
  "timestamp": "2017-09-28T02:20:06.954Z",
  "lang": "en",
  "result": {},
  "status": {
    "code": 206,
    "errorType": "partial_content",
    "errorDetails": "Webhook call failed. Error: Webhook response was empty."
  },
  "sessionId": "1506565201634"
}

但是当我查看 apache 的日志时,API.AI 没有调用我的 webhook!当我将 webhook url 替换为 firebace 函数时,它工作成功。但是如果我使用自己的服务 url 作为 API.AI webhook url,那么 API.AI 无论如何都不会调用 webhook。我的服务使用 https。

【问题讨论】:

  • 您能说明一下您的 HTTPS 服务是如何工作的吗?它是否监听 POST 请求?您可以在此处粘贴来自您的服务的 JSON 响应吗?
  • 我使用apache来监听https请求,当然也包括POST请求。无论我的服务返回任何 JSON,API.AI 都不会请求我的服务。 apache 的日志中没有关于我设置为 API.AI webhook url 的 url。我确定可以请求该网址。

标签: webhooks actions-on-google dialogflow-es


【解决方案1】:

我也遇到了这个问题,我可以设法解决它。以下错误详细信息在某种程度上具有误导性

"status": {
    "code": 206,
    "errorType": "partial_content",
    "errorDetails": "Webhook call failed. Error: Webhook response was empty."
  }

实际问题是另外一回事。我正在添加输出上下文以响应 web-hook 并且上下文名称无效(名称中有空格)。这导致了上述错误消息。

作为一般规则,当来自 web-hook 的响应格式无效时,似乎会收到上述错误消息。

希望它对将来的人有所帮助。

【讨论】:

  • 同上:“Ebhook 响应为空。”似乎被用作包罗万象的错误。在我的例子中,它也是 JSON 响应的格式,特别是上下文名称中的额外空格。这将教我从 DF 文档中复制/粘贴...
  • 已投票,因为这也反映了我的经验。正如罗伯特所说,这似乎是一个包罗万象的错误。我可以在 Dialogflow 诊断屏幕中看到我的响应,但仍然遇到同样的错误。我简化了对单个“fulfillmentText”参数(API 版本 2)的响应,它起作用了。
  • 对我有帮助!非常感谢,因为这为我节省了几个小时。这应该是固定的。
【解决方案2】:

好的,我解决了这个问题。原因是https的配置。它应该在 ssl 选项中添加 ca。解决方案详情见链接: https://discuss.api.ai/t/webhook-does-not-work-with-https/6708/8

【讨论】:

  • 我在 DialogFlow 上得到了同样的结果,但 SSL 和 ngrok 工作正常,所以它是另一回事。回复正常。
【解决方案3】:

@dmulter 有时,如果您的帐户超过其配额限制,那么 Webhook 也会响应失败。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    相关资源
    最近更新 更多