我可以在messenger webhook中使用localhost作为URL Callback

时间:2016-04-12 20:34:09

标签: facebook facebook-javascript-sdk webhooks

晚上好,只是看到Facebook发布了他的messenger bot工具包,我立刻跳进去了解更多信息并尝试自己做。

我的问题是我没有运行https网站,而且需要https有效网址。我试图使用我的本地网络服务器,它有一个证书,但它不起作用。

我的问题是,是否可以使用localhost网址完成此操作。

提前谢谢

3 个答案:

答案 0 :(得分:16)

实际上,localhost可以实现这一点。使用ngrok。它允许您通过http或https打开localhost到公共Web。但这只应用于测试。

答案 1 :(得分:1)

如果您想在本地环境中测试webhook,我会尝试使用ultrahook.com,您可以免费获得API密钥,该工具会创建从公共URL到您的计算机的隧道。这是来自他们的常见问题解答页面:

  

您可以在计算机上下载并运行UltraHook客户端。它   连接到云中的UltraHook服务器并从中创建隧道   我们服务器上的公共端点到您的计算机。任何HTTP POST   发送到公共端点的请求将通过隧道发送   传送到可从您的计算机访问的专用端点。

我用它来测试来自不同提供商(如支付网关)的webhook。在您的计算机中,您可以运行以下内容:

ultrahook <subdomain> http://localhost:8000/webhook/

然后将外部服务中的webhook网址配置为<subdomain>.ultrahook.com

答案 2 :(得分:0)

  

我的问题是,是否可以使用localhost网址完成此操作。

不,当然不是 - 因为这样的“回调”实际意味着,Facebook向您的服务器发出请求 - 而localhost几乎不可能。

这些天,您可以通过LetsEncrypt免费获得有效的网站SSL证书。即使您的服务器上没有这个功能,仍然可以免费提供基本证书的StartSSL。您只需要一台可以安装它们的服务器,或将它们上传到服务器,或者您的主机为其提供的任何机制。 (如果他们没有提供任何,那么可能是时候切换了。)