【问题标题】:Facebook Graph - Possible To Check If A User Is A Member Of A Group w/o user_groups?Facebook Graph - 可以检查用户是否是没有 user_groups 的组的成员?
【发布时间】:2015-03-31 20:51:33
【问题描述】:

我是 Wordpress/Facebook 插件的作者,多年来,该插件使网站能够根据用户是否是其 Facebook 私人群组的成员来允许/拒绝登录,从而创建 WP 社区。突然间 - 以典型的 Facebook 方式 - 他们打破了它,现在声明:

user_groups 权限仅适用于允许人们 在 Facebook 尚不可用的平台上使用 Facebook。如果 例如,您正在 Android 和 iOS 上构建应用程序,您不会 批准此权限。 Web、桌面和电视应用程序也不会 被授予此权限。

参考:https://developers.facebook.com/docs/facebook-login/permissions/v2.3

以前,我通过 /group-id/members 端点确定用户是否是组的成员,并在组的成员列表中查找当前用户。这需要现在不可能的 user_groups 权限,因此不起作用。 /user/groups 端点也需要 user_groups,并且也不起作用。我发现使用 FQL (facebook graph api check if user is a member of a group using PHP) 的另一种方式的参考,据说不需要 user_groups,但他们也杀死了 FQL。

因此,虽然我很确定我知道答案,但我只是想联系一下,看看是否有任何可能的解决方法可以帮助我避免扼杀这个非常受欢迎的功能:基于其他一些方法来允许/禁止用户成为某个组的成员。只是在寻找一些开箱即用的想法 - 或者认为组功能完全丢失并永远消失是否安全?

感谢您提出的任何想法...

【问题讨论】:

  • 不,没有别的办法

标签: facebook facebook-graph-api


【解决方案1】:

我也面临同样的问题,我得出了你可以想象的结论:没有直接的方法可以确定用户是否是某个组的成员,除非你拥有 user_group 权限。

目前,我发现的唯一解决方法是将用户 ID 和一个变量存储在数据库中,该变量告诉我他是否是我组的成员;我“手动”更新此变量,定期将我的组的成员列表与用户数据库进行比较。

请记住,如果您是某个群组的管理员,则无需任何权限即可随时获取其成员列表(这是我使用的代码:$members = $facebook->api('/'.$userGroupId.'/members','GET');)。

获得此列表后,您可以使用它来更新用户数据库的布尔变量“is_member”。

当然不是最优雅的解决方案,但据我所知,没有那么多替代方案......

无论如何,您也可以按照此问题的选定答案中说明的方法:Facebook login for group members

【讨论】:

  • 这真是个好主意!当然不理想,但考虑到 Facebook 的新限制,这可能是最好的。接受。
  • 它不给超过 5000 个组成员,所以我们不能依赖这个解决方案,我有一个有 38,000 个成员的组,使用分页来获取所有组成员,但它仍然只返回 4995 个组成员,连管理员都不见了:(
  • 我们无法获取超过 5000 个群组成员。
  • edge got deprecated 这样端点/方法也不能再使用了?
【解决方案2】:

与我使用的答案基本相同:使用图形 API 将组成员下载到您的数据库,然后从那里询问它。 我是 600 多名成员的管理员,我们不会急于增加新成员,因此很容易添加奇怪的新成员。 它有效,但正如上面所说,这是一种粗略的方法,很遗憾 FB 让这变得非常困难。

【讨论】:

  • 我之前的评论只是作为评论,正如你所说,大卫,因为真正的补救措施是让 FB 修改他们的 API,只允许封闭组成员能够登录。
【解决方案3】:

作为一个封闭的 Facebook 群组和相关网站的管理员,我遇到了同样的问题。 我找到了一种解决仅允许 FB 组成员登录网站成员部分但不是理想解决方案的简单方法,是将所有 FB 成员 ID(没有名称,只有 ID)下载到站点数据库中,它可以然后在单击“使用 Facebook 登录”按钮后进行查询。如果没有找到匹配项,则没有登录。简单的! 我有一个 600 多名成员的 FB 组。任何新成员的 ID 都是手动输入的。正如我所说,这不是理想的解决方案,但它确实有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    相关资源
    最近更新 更多