Facebook取消授权回调未被调用

Gui*_*ara 20 https android facebook facebook-canvas laravel

我开发了一个由Facebook客户端(Facebook画布)和移动客户端(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方法允许我使用" 开放图形对象调试器 "工具来测试我的URL是否可以被Facebook服务器访问(并且它是成功的).

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

我知道如何解码signed_request编码之后的参数(这个问题是不是在这里).

问题:

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

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

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

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

在此输入图像描述

Tim*_*Tim 0

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

  1. 更新/回调丢失
  2. 几天后发布更新
  3. 当 facebook 更新 graph api 版本时,一些仍在旧版本上运行的应用程序可以运行,而您迁移的应用程序则无法运行。

有时为了解决这个问题,我会删除所有订阅并重新添加它们。一段时间后,我对此感到厌倦,现在我也进行拉取和实时更新,我还实现了日志记录和监控。

我希望这有帮助