Facebook取消授权回调未被调用

时间:2014-08-12 09:22:20

标签: android facebook laravel https facebook-canvas

我开发了一个由Facebook客户端(Facebook画布)和移动客户端(Android应用程序)消费的Facebook应用程序(#34;开发模式"中的游戏)。我还有一个REST API(用Laravel开发),它允许客户端和Facebook API之间的交换。 API可通过互联网访问(不是localhost)。

我的目标是检测用户何时卸载我的Facebook应用程序。

Facebook documentation说:

  

人们可以通过Facebook.com卸载应用程序而无需进行交互   与应用程序本身。为了帮助应用程序检测何时发生这种情况,我们   允许他们提供取消授权的回调网址,该网址将被ping   无论何时发生这种情况。

     

您可以通过App Dashboard启用取消授权回调。去吧   到你的应用程序,然后选择设置菜单,最后选择高级   标签。为取消授权回调URL提供了一个文本字段。

     

每当您的应用的用户取消授权时,都会发送此网址   包含签名请求的HTTP POST。阅读我们的解析指南   已签名的请求,以查看如何解码此查找用户ID   触发了回调。

此网址的Laravel路线接受GETPOST次请求。我知道Facebook回调使用POST请求,但接受GET方法允许我使用" Open Graph Object Debugger"用于测试Facebook服务器是否可以访问我的URL的工具(并且成功)。

目前,我使用自签名SSL证书(AES 128)。 Apache是​​我的Web服务器(它将所有HTTP请求重定向到HTTPS)。

我知道how to decode signed_request编码的POST参数(问题不在这里)。

问题:

当我删除应用程序(使用Facebook测试帐户)时,永远不会调用回调网址。 Apache日志(访问/错误)绝对没有显示任何内容(我可以通过Open Graph Object Debugger查看以前的访问)。

我尝试使用已知CA提供的SSL证书更改另一个域的回调URL。同样的结果......这非常令人沮丧。

我不明白为什么。我错过了什么?

  • 这是我的网络服务器的问题?
  • 我的SSL证书存在问题吗?
  • 我的Facebook应用配置存在问题吗?
  • 这是因为我的Facebook应用程序处于开发模式?
  • 这是Facebook的错误吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

根据我的个人经验,Facebook通知不可靠。 我开发了一些依赖facebook的实时更新的应用程序,我遇到了以下问题:

  1. 更新/回调迷失
  2. 几天后发布的更新
  3. 当facebook更新图形api版本时,某些应用程序仍在旧版本上运行,而那些迁移的应用程序无效。
  4. 有时为了修复它,我会删除所有订阅并重新添加它们。 过了一会儿我就厌倦了,现在我也拉了实时更新,我也实现了日志记录和监控。

    我希望这会有所帮助