我开发了一个由Facebook客户端(Facebook画布)和移动客户端(Android应用程序)消费的Facebook应用程序(#34;开发模式"中的游戏)。我还有一个REST API(用Laravel开发),它允许客户端和Facebook API之间的交换。 API可通过互联网访问(不是localhost)。
我的目标是检测用户何时卸载我的Facebook应用程序。
人们可以通过Facebook.com卸载应用程序而无需进行交互 与应用程序本身。为了帮助应用程序检测何时发生这种情况,我们 允许他们提供取消授权的回调网址,该网址将被ping 无论何时发生这种情况。
您可以通过App Dashboard启用取消授权回调。去吧 到你的应用程序,然后选择设置菜单,最后选择高级 标签。为取消授权回调URL提供了一个文本字段。
每当您的应用的用户取消授权时,都会发送此网址 包含签名请求的HTTP POST。阅读我们的解析指南 已签名的请求,以查看如何解码此查找用户ID 触发了回调。
此网址的Laravel路线接受GET
和POST
次请求。我知道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。同样的结果......这非常令人沮丧。
我不明白为什么。我错过了什么?
答案 0 :(得分:0)
根据我的个人经验,Facebook通知不可靠。 我开发了一些依赖facebook的实时更新的应用程序,我遇到了以下问题:
有时为了修复它,我会删除所有订阅并重新添加它们。 过了一会儿我就厌倦了,现在我也拉了实时更新,我也实现了日志记录和监控。
我希望这会有所帮助