Facebook oAuth:强制发送电子邮件权限

时间:2014-11-13 13:19:37

标签: facebook facebook-javascript-sdk facebook-php-sdk

StackOverflow和Untappd" force"用户接受他们的权限?

当我尝试使用JavaScript SDK时,我一直在使用范围对象来请求电子邮件地址,但我一直在看"编辑您提供的信息",允许用户不提供他们的电子邮件地址。我甚至尝试过关注Manually Building a Login Flow,结果相同。

图像:

enter image description here

由于我们正在通过Facebook向用户提供在网站上注册的选项,因此我们依赖于电子邮件地址在我们的数据库中创建帐户。

然而像StackOverflow和Untappd这样的网站没有提供这样的选项,我被迫接受这些权限。

那么秘密是什么?我该如何实现这一目标?这是我俯瞰某处的环境吗?或者是否需要"批准"?

2 个答案:

答案 0 :(得分:15)

他们正在使用2014年4月底之前创建的旧应用程序,当时它是不同的。您不能再强制它,您只能通过return_scopes标志检查用户是否在登录后授权了权限,例如:

https://developers.facebook.com/docs/reference/javascript/FB.login/v2.2

答案 1 :(得分:4)

这是使用Facebook SDK V4.x为我工作的解决方案: How to “rerequest” email permission using Facebook iOS SDK 4.x?

如果用户取消选择"电子邮件"第一次允许和收益,连续第二次请求电子邮件访问,不允许他取消选择电子邮件并点击“确定”#34;了。

他只会被提供" Not Now"和"好的" (如果取消选择电子邮件,它会变灰)。

编辑:以下是如何使用Facebook JS SDK重新申请:

FB.login(function(response) {
   console.log(response);
}, {
   scope: 'user_likes',
   auth_type: 'rerequest'
});
相关问题