当我尝试使用我的Facebook帐户登录我的网站时,收到的警告不准确:
Submit for Login Review
Some of the permissions below have not been approved for use by Facebook.
他们引用的权限列在此消息下方:
****** will receive the following info: your public profile, email address,
birthday, website and personal description.
后者权限不会映射到您必须获得批准的Facebook App权限列表中的权限:
我不能为我的生活找到我应该要求批准的权限。我想做的就是使用Facebook作为我们网站的登录机制......就是这样。我的理解是,这根本不需要批准,但显然确实如此,否则我就不会收到"提交登录审核"消息。
答案 0 :(得分:16)
我不确定您正在查看哪些文档,但对于API版本2.0
或更高版本,您可以向最终用户请求的唯一权限 提交您使用的他们到Facebook审查是:
如果您在Oauth / Login对话框的scope
参数中拥有除上面列出的三个之外的任何权限,则不会提示不是应用程序的管理员/开发人员/测试人员的用户授予他们(直到你批准它们为止)
以下文档中提到了未经批准可以请求的列表:
https://developers.facebook.com/docs/apps/review/login
https://developers.facebook.com/docs/facebook-login/permissions/v2.1#categories
答案 1 :(得分:2)
调用FB api时,您可以选择设置名为" scope"的东西。以下是一个示例:
'Facebook' => array (
"enabled" => true,
"keys" =>
array (
"id" => "762xxxxxxxxxxxxx",
"secret" => "b1831068a1xxxxxxxxxxxxxx"
),
"scope" => "email, user_about_me, user_birthday, user_hometown, manage_notifications , read_insights, publish_actions, read_friendlists, manage_pages"
),
如果您要求的不仅仅是:
public_profile
user_friends
email
您需要验证您的应用。
您的问题的解决方案是限制您想要访问的信息范围,这样就可以解决您的问题:
'Facebook' => array (
"enabled" => true,
"keys" =>
array (
"id" => "762xxxxxxxxxxxxx",
"secret" => "b1831068a1xxxxxxxxxxxxxx"
),
"scope" => "email, public_profile, user_friends"
),