我正在构建一个基于 facebook 的移动应用程序。每次用户登录我的服务器时,我都想知道他的哪些朋友在 facebook 中接受了我的申请。我现在正在做的是我正在向我的服务器发送用户朋友的列表,并向他返回一个列表,其中朋友也是我的应用程序的成员。问题是当用户有很多朋友时,这个过程真的很慢..
有没有办法抛出图形 api 或 FQL 来检查用户(或他的朋友)授予哪些应用程序权限?
我正在构建一个基于 facebook 的移动应用程序。每次用户登录我的服务器时,我都想知道他的哪些朋友在 facebook 中接受了我的申请。我现在正在做的是我正在向我的服务器发送用户朋友的列表,并向他返回一个列表,其中朋友也是我的应用程序的成员。问题是当用户有很多朋友时,这个过程真的很慢..
有没有办法抛出图形 api 或 FQL 来检查用户(或他的朋友)授予哪些应用程序权限?
每当您将应用标记为原生时,Facebook 都会禁止应用访问令牌发出 API 请求 - 这是一种保护开发人员和用户的安全措施,因为大多数原生应用都会分发其应用机密,因此无法信任。
也就是说,目前无法通过 Graph API 或 FQL 检索应用程序的用户列表。我的建议是您应该在授权时跟踪这一点 - 您获得用户访问令牌的时间点 - 因为您可以将完整的 UID 列表存储在您自己的数据库中,而不依赖于该列表的 API。
作为一种可能的解决方法(假设您没有执行我上面推荐的操作并且已经有许多用户),如果您在某处存储了访问令牌,则可以遍历这些令牌并调用https://graph.facebook.com/me
每个令牌,这应该会给您所有应用用户的 UID。不过,您可能没有集中存储访问令牌,在这种情况下,恐怕您将无法获得此列表。