我是 Facebook 上一个小组的管理员,小组大约有 40-50 名成员。现在我正在为该组构建一个网页,该网页将授权用户使用 Facebook 登录(如果重要的话,我正在使用 Laravel + SammyK 的 LaravelFacebookSDK)。
一切正常,但有一个问题。我想限制只有 Facebook 群组成员的登录。最好的方法是使用/me/groups API,但这需要 user_groups
权限,这是受限制的。
当然有一些“hacky”解决方案,比如让每个用户手动成为 App Insight 用户,或者编写一个脚本来每天更新我服务器上的数据库,其中包含组成员列表,但是没有一个简单的方法吗, 优雅的方式来做到这一点?
我非常怀疑 Facebook 会允许我为此使用 user_groups
权限。
最佳答案
那么图形 API 确实提供了您所说的此功能,您只需要用户许可,而不是 facebook。由于您可以传达此权限的需求和好处,因此您只需将其写下来,放在靠近注册/登录的地方。然后您需要在范围变量内指定 user_groups,您使用 getLoginUrl 方法发送。
$scope = ['email', 'user_status', 'user_groups']; // it is 'groups' or 'user_groups'
$login_url = $fqb->auth()->getLoginUrl('http://my-callback/url', $scope);
我没有测试这段代码,因为我手边没有安装,但根据我刚刚阅读的所有内容,它应该是这样工作的。
编辑:差点忘了,您可以使用以下符号从 Facebook 对象中获取数据:
$groups = $fqb->object('me/groups')->get();
关于php - 群组成员的 Facebook 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27952623/