使用 DialogFlow 进行 webhook 调试的 ngrok 不起作用

Posted

技术标签:

【中文标题】使用 DialogFlow 进行 webhook 调试的 ngrok 不起作用【英文标题】:ngrok with DialogFlow for webhook debugging won't work 【发布时间】:2018-08-05 09:37:42 【问题描述】:

去年,我能够使用 ngrok 通过将公共 URL 重新路由到 localhost 上的端口来调试 api.ai(现在称为 DialogFlow)上的 webhook。

现在,它根本行不通。我收到消息“错误:无法解析 webhook JSON 响应:java.lang.IllegalStateException:应为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ 处为 STRING。”

当 DialogFlow 执行 webhook 时,ngrok 会话显示“301 Moved Permanently”,但从未访问过该应用。

【问题讨论】:

【参考方案1】:

Dialogflow 将“200 ok”以外的响应视为可能的错误。使用 ngrok 仍然有效,但您应该直接指向 webhook 的 URL,而不是重定向到 webhook 的 URL。

【讨论】:

以上是关于使用 DialogFlow 进行 webhook 调试的 ngrok 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在dialogflow webhooks中设置http url

无法将 dialogflow webhook 链接到 ngrok 隧道

从Django中的Dialogflow访问webhook信息

Dialogflow - Firestore - Webhook 调用失败。错误:UNAVAILABLE,状态:URL_UNREACHABLE,原因:UNREACHABLE_5xx,HTTP 状态代码

在 Google Assistant 上捕获数以十万和千万计的数字 - Dialogflow

webhook呼叫语音失败