无法将 dialogflow webhook 链接到 ngrok 隧道

Posted

技术标签:

【中文标题】无法将 dialogflow webhook 链接到 ngrok 隧道【英文标题】:Unable to link dialogflow webhook to ngrok tunnel 【发布时间】:2020-04-09 19:50:12 【问题描述】:

已经创建了一个聊天机器人,我正在尝试使用 ngrok 将它连接到我的本地主机...... localjost 正在通过我的计算机运行并且显示为活动......但是 dialogflow webhook 无法发送任何请求到ngrok 传送门...

我曾多次尝试通过 ngrok 托管服务器,并将链接粘贴到 Dialogflow 的 webhook 部分中。但 dialogflow 诊断显示

Webhook 调用失败。错误:PERMISSION_DENIED。 fulfillment statusngrok cmd promptngrok server 任何帮助将不胜感激......不知道我错过了什么......

【问题讨论】:

在没有看到具体信息的情况下很难帮助诊断您的问题。如果您可以使用确切的错误消息以及您看到此消息的位置、您在计算机上运行的代码、Dialogflow webhook 配置的屏幕截图和 ngrok 屏幕更新您的问题,我们就有更好的机会提供帮助你。 (如果担心安全,可以运行ngrok拍照然后kill掉,下次换主机。) 您好,我添加了几张图片供您参考……很高兴提供所需的更多详细信息…… 【参考方案1】:

在没有看到实际配置的情况下,我会看一些东西:

确保您实际上在控制台中使用了正确的 ngrok URL。很多时候,我在 Dialogflow 配置中使用的是旧 URL。 确保您使用的是 HTTPS URL。 确保您的服务器实际上正在您的计算机上运行,​​并且它正在侦听 ngrok 在您的计算机上使用的同一端口。 检查 ngrok 控制台以查看它是否收到请求以及响应可能是什么。 转到http://localhost:4040/,它将为您提供通过 ngrok 进行的每个连接的详细信息。

【讨论】:

感谢您的回复...我一直在使用更新的链接... Dialogflow 不允许我使用 HTTPS 链接...只有 HTTP ....服务器在我的系统上运行ngrok 状态在线...并且端口正确...它没有收到来自 Dialogflow 实现的任何请求... 您能否更新您的问题以澄清“Dialogflow 不允许我使用 HTTPS 链接”的意思?在 Dialogflow 中显示您的 webhook 配置也可能对我们有所帮助。

以上是关于无法将 dialogflow webhook 链接到 ngrok 隧道的主要内容,如果未能解决你的问题,请参考以下文章

在dialogflow webhooks中设置http url

DialogFlow Google智能助理Webhook回复:“空话语回应”

从Django中的Dialogflow访问webhook信息

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

webhook呼叫语音失败

无法将 Dialogflow 中的意图添加到 Google Assistant