Facebook webhook页面订阅中的回调URL是什么?

时间:2016-01-13 08:05:14

标签: facebook facebook-graph-api webhooks facebook-public-feed-api

我尝试使用Facebook Web-hook API流式传输实时公共供稿。在这里,我尝试在Web-hook控制台中设置页面订阅。有一个名为Callback URL的字段。这个网址是什么?

我还尝试了一下设置回调网址的文档。但我无法弄清楚。

https://developers.facebook.com/docs/graph-api/webhooks#setup

回调网址不能是SSL localhost吗?每当我尝试提供localhost URL时,我都会收到一条错误消息"无法验证提供的URL"。

4 个答案:

答案 0 :(得分:23)

您可以使用以下命令将请求转发到localhost:

  1. https://ngrok.com/download
  2. 下载并安装ngrok
  3. ./ngrok http 8445
  4. 使用verify_token和https://<your_ngrok_io>/webhook作为回调网址将您的页面订阅到Webhooks。
  5. 在Messenger上与您的机器人交谈!

答案 1 :(得分:4)

Facebook将通过其服务器向该URL发出请求以提供更新 - 当然,它必须通过互联网公开访问,而本地主机地址显然不是。

如果您订阅的对象和字段的任何数据发生变化,Facebook将向该URL发送请求。数据结构的外观如文档中所述。对于页面字段,它直接返回新内容;对于用户字段,它只会告诉您哪些字段已更改,以便您可以请求该数据。

您只能获得您拥有管理员访问权限的网页的实时更新。并且不推荐使用Public Feed API;但访问它只限于一小部分Facebook合作伙伴。你不能申请成为一个 - 如果你绝对需要这种数据,那么你必须联系其中一个合作伙伴,让他们为你开发一个解决方案。

答案 2 :(得分:0)

我认为这意味着您需要一台具有固定IP地址的服务器。如果您想使用Facebook的实时更新,您需要构建一个服务器,该服务器从Facebook接收发布请求,同时与您的终端保持长连接,以便端点可以接收服务器推送的消息。

答案 3 :(得分:0)

您必须编写一个Webhook才能从fb服务器获取fb请求,并且该Webhook应该在公共ip地址中运行,此公共URL是要在回调URL框中填写的URL。这样fb服务器可以通过url更新您,而这个URL只是运行webhook的URL。要获取fb识别您的Webhook的公共URL地址,您可以使用ngrok或将您的webook托管在heroku中。