我一直在跟踪我的应用程序服务器端的所有用户(存储他们的Facebook ID(当然在我的应用程序范围内)),但是因为我可以通过Facebook在这个网站上找到任何人的Facebook ID: http://findmyfbid.com/,当然这些ID不在我的应用范围内,我可以获取他们的基本,公开信息,如ID,名称等。但我需要一种方法来了解用户是否安装了我的应用程序。我发现Facebook告诉我用户没有安装我的应用程序的唯一方法是我尝试向他们发送通知。然后我从Graph获得此响应:
图表返回错误:(#200)无法向尚未安装该应用的用户发送通知 图表返回错误:403
除了通过调用post方法和发送通知之外,还有其他方法可以确定用户是否已经授权并安装了我的应用程序吗?
答案 0 :(得分:0)
你从findmyfbid.com获得的ID是"全球/真实" ID,你永远不需要/使用那个,你甚至不应该以任何方式得到它。该页面正在抓取个人资料,这在Facebook上是不允许的。授权后,您将获得一个" App Scoped ID",您需要使用该ID。
无论如何,您可以在授权您的应用程序后立即将所有授权用户存储在数据库中(因为您知道他们何时这样做)。还有一个" deauthorization callback"在应用程序设置中,如果您想知道有人被授权您的应用程序 - 您可以(并且应该)从您的数据库中删除该用户。