Facebook网络挂钩页面订阅中的回调URL是什么



我正在尝试使用Facebook Web-hook API流式传输实时公共提要。在这里,我试图在Web挂钩控制台中设置一个页面订阅。有一个名为回调URL的字段。这个URL是关于什么的?

我还试着浏览了设置回调URL的文档。但我想不通。

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

回调URL不能是SSL localhost吗?每当我尝试提供localhost URL时,我都会收到一条错误消息"Unable to verify provided URL"。

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

  1. 从下载并安装ngrokhttps://ngrok.com/download
  2. ./ngrok http 8445
  3. 使用verify_token和https://<your_ngrok_io>/webhook作为回调URL将您的页面订阅到Webhook
  4. 在Messenger上与您的机器人对话

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

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

您只能获得您有管理员访问权限的页面的实时更新。公共订阅源API不会被弃用;但访问它的权限仅限于Facebook的一小部分合作伙伴。你不能申请成为一个——如果你绝对需要这种数据,那么你必须联系其中一个合作伙伴,让他们为你制定解决方案。

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

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

最新更新