晚上好,只是看到Facebook发布了他的messenger bot工具包,我立刻跳进去了解更多信息并尝试自己做。
我的问题是我没有运行https网站,而且需要https有效网址。我试图使用我的本地网络服务器,它有一个证书,但它不起作用。
我的问题是,是否可以使用localhost网址完成此操作。
提前谢谢
答案 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。您只需要一台可以安装它们的服务器,或将它们上传到服务器,或者您的主机为其提供的任何机制。 (如果他们没有提供任何,那么可能是时候切换了。)