如何使用Dialog Flow调用localhost的webhook Rest URl?

时间:2017-12-15 05:47:06

标签: node.js dialogflow

我试图从对话框流程控制台调用我的Rest webhook。 我知道部署到任何公共IP都是可行的。

但如何在不将webhook托管到任何公共IP的情况下测试相同内容,并通过localhost测试它:8080 / webhook?

3 个答案:

答案 0 :(得分:5)

像您一样运行本地主机服务器。

然后下载以下实用程序。

https://ngrok.com/download

然后解压缩它,你会得到一个ngrok二进制文件。

然后跑, ngrok http portnu

此处端口号是您本地网络服务器正在侦听的端口号。

在运行上述命令时,ngrok将提供http以及https公共网址。 将该公共URL用作对话框流控制台上的实现逻辑。 现在你有一个本地webhook运行。

答案 1 :(得分:4)

您无法执行此操作 - Dialogflow需要公共HTTPS服务器才能访问。

幸运的是,您可以使用ngrok之类的工具,它将在您的计算机和公共主机名/地址之间创建一个隧道。您在localhost上运行ngrok并告诉它您的服务器所在的本地端口。它将显示可插入Dialogflow的主机名。只要你让ngrok在本地运行,你就会拥有该地址。

答案 2 :(得分:0)

您可以使用Webhook Relay(https://webhookrelay.com)创建webhook转发隧道:

$ relay forward -b webhook-demo http://localhost:8080/webhook
Forwarding:
https://my.webhookrelay.com/v1/webhooks/5e722a5e-f3d2-4hqec-9e9f-79f1158e4b10 -> http://localhost:8080/webhook
starting webhook relay agent..

端点是永久性的(直到您删除它们)并且还可以检查webhook正文,重试它们或将webhook扇出到多个目的地。