Facebook取消授权回调不称为

我开发了一个由Facebook客户端(Facebookcanvas)和移动客户端(Android应用程序)消费的Facebook应用程序(“开发模式”游戏)。 我还有一个REST API(用Laravel开发),它允许客户端和Facebook API之间的交换。 可以通过Internet(而不是localhost)访问API。

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

Facebook文档说:

人们可以通过Facebook.com卸载应用程序而无需与应用程序本身交互。 为了帮助应用程序检测何时发生这种情况,我们允许它们提供取消授权的回调URL,只要发生这种情况就会对其进行ping操作。

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

每当您的应用程序的用户取消授权时,此URL将发送包含签名请求的HTTP POST。 阅读我们的解析已签名请求的指南,了解如何对此进行解码以找出触发回调的用户ID。

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

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

我知道如何解码 signed_request编码的POST参数(问题不在这里)。

问题:

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

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

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

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

在此处输入图像描述

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

    1. 更新/回调迷路
    2. 几天后发布的更新
    3. 当facebook更新图形api版本时,一些应用程序仍在旧版本上工作,而那些迁移的应用程序无效。

    有时为了解决这个问题,我会删除所有订阅并重新添加它们。 过了一会儿我厌倦了这一点,现在我也拉了实时更新,我也实现了日志记录和监控。

    我希望这有帮助