Facebook 实时更新:(#2200) 回调验证失败,代码 2200

Posted

技术标签:

【中文标题】Facebook 实时更新:(#2200) 回调验证失败,代码 2200【英文标题】:Facebook Real-time Updates: (#2200) callback verification failed, code 2200 【发布时间】:2012-08-23 12:06:44 【问题描述】:

我正在尝试从 facebook 获取我的应用程序的实时更新,如 https://developers.facebook.com/docs/reference/api/realtime/ 中所述。当回到订阅验证时,我现在正在苦苦挣扎。我已经建立了一个回调服务器,它接受 GET 和 POST 请求。我通过向它发出 curl 请求来验证服务器是否正常工作。

但是,当我尝试创建订阅并发出下面的 POST 请求时,我仍然收到此错误

"error":"message":"(#2200) 回调验证失败: ","type":"OAuthException","code":2200

根据我在文档和其他线程中阅读的内容,我认为这意味着对我的回调 URL 的单个 GET 请求失败。回调 url 确实没有被 GET 和 POST 请求请求。我想 facebook 以某种方式被阻止访问端点。但是,我可以使用身份验证对话框 (https://developers.facebook.com/docs/reference/dialogs/oauth/) 以用户身份进行身份验证,在该对话框中,我也在同一服务器上传递回调 url。服务器运行 http(目前)。

这是我用来发布订阅的 curl。主机文件有一个条目将 dev.minggler.com 重定向到 localhost =>(127.0.0.1 dev.minggler.com)

curl -XPOST 'https://graph.facebook.com/256139341164822/subscriptions?callback_url=http%3A%2F%2Fdev.minggler.com%3A3000%2Ffacebook%2Frealtimeupdates&object=user&fields=friends&verify_token=abcd123&access_token=$MYTOKEN'

有人可以帮我解决这个问题吗?

【问题讨论】:

但是您已经设置了回调 URL,以按照文档中描述的方式回答用于 订阅验证 的第一个 GET 调用,对吗? 是的,我正在使用 node.js 和 express。这是代码gist.github.com/3438935。当我运行 curl -XGET 'dev.minggler.com:3000/facebook/realtimeupdates' 时,我会按预期进行日志记录(“调用订阅验证”等) 我的问题是,您的脚本是否以预期的方式回答验证调用? 在上面发布的代码中它没有,因为它只返回字符串“挑战”。但是,我按照文档中的描述返回挑战并对其进行了测试,但这也不起作用。端点/我的脚本甚至没有被调用,所以我认为这不是问题 您的服务器可以通过dev.minggler.com:3000地址在互联网上公开访问? 【参考方案1】:

终于找到问题了。无法从外部访问服务器。解决了问题就解决了

【讨论】:

你有没有得到状态:失败?

以上是关于Facebook 实时更新:(#2200) 回调验证失败,代码 2200的主要内容,如果未能解决你的问题,请参考以下文章

根本没有收到来自 Facebook 的实时更新

Facebook SDK 登录永远不会在 iOS 9 上回调我的应用程序

“不支持的获取请求” - 页面的 Facebook 实时更新

如何使用 Facebook PHP SDK 3.0 正确处理会话和访问令牌?

用户登录后 Facebook 不会重定向到回调 URL

Facebook Twitter Google line 登录之 fb登录