PHP SDK如何知道Facebook的人是否已经在Facebook上安装并授权了我的应用程序


PHP SDK-How to know whether or not person from Facebook has installed and authorized my app on Facebook?

我一直在跟踪我的应用程序服务器端的所有用户(存储他们的Facebook id(当然在我的应用范围内)),但由于我可以从任何使用Facebook的人那里找到Facebook id:http://findmyfbid.com/,当然,这些id不在我的应用程序范围内,我可以获取它们的基本公开信息,如id、姓名等。但我需要一种方法来知道用户是否安装了我的应用。我发现Facebook通知我用户并没有安装我的应用程序的唯一方法是,我尝试向他们发送通知。然后我从Graph:得到了这个响应

Graph返回错误:(#200)无法向尚未安装应用程序的用户发送通知图形返回错误:403

除了调用post方法和发送通知之外,还有其他方法可以了解用户是否授权并安装了我的应用程序吗?

您从findmyfbid.com获得的ID是"全局/真实"ID,您永远不应该需要/使用该ID,实际上您甚至不应该以任何方式获得它。该页面正在抓取个人资料,这在Facebook上是不允许的。授权后,您将获得一个"应用程序范围ID",您需要使用该ID。

无论如何,你可以在所有授权用户授权你的应用程序后立即将其存储在数据库中(因为你知道他们什么时候授权)。如果你想知道是否有人取消了你的应用程序的授权,应用程序设置中会有一个"取消授权回调",你可以(也应该)从数据库中删除该用户。