Facebook的应用程序许可消息模糊且无益

时间:2014-09-10 20:32:40

标签: facebook login permissions

当我尝试使用我的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权限列表中的权限:

  • manage_notifications
  • read_insights
  • publish_actions
  • read_friendlists
  • manage_pages

我不能为我的生活找到我应该要求批准的权限。我想做的就是使用Facebook作为我们网站的登录机制......就是这样。我的理解是,这根本不需要批准,但显然确实如此,否则我就不会收到"提交登录审核"消息。

2 个答案:

答案 0 :(得分:16)

我不确定您正在查看哪些文档,但对于API版本2.0或更高版本,您可以向最终用户请求的唯一权限 提交您使用的他们到Facebook审查是:

  • public_profile
  • user_friends
  • 电子邮件

如果您在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"
            ),