Facebook使用js sdk登录 - 根据要求要求电子邮件范围

时间:2014-06-17 12:44:24

标签: facebook-login

在过去的几天里,我开始使用Facebook JS SDK。现在我想在我的网站上添加Facebook登录信息。

当我用FB.login打开登录对话框时,我添加了'scope'参数以及我需要的相关数据... email就是其中之一。

在对话框中,用户可以编辑和更改他接受的数据。

所以,我的问题是:如何禁用/删除更改他接受的数据的选项? 我想强迫用户给我他的电子邮件......所以我会检查他的电子邮件是否存在或者尚未存在并处理。

看到这种情况的最好例子是通过Facebook使用'stackoverflow'登录。 在这种情况下,对话框只是告诉我,我将提供公开个人资料和我的电子邮件,而且我没有选择更改它。

我在internet / facebook docs / stackoverflow中搜索,但我没有找到任何答案。

我正在使用的代码是:

FB.login(function(response) {
  console.log(response);
}, {
  scope: 'public_profile,email', 
  return_scopes: true
});

谢谢:)

1 个答案:

答案 0 :(得分:0)

您无法强制用户第一次发送您的电子邮件。 你应该做的是尝试登录用户,然后检查他的授权范围,如果没有电子邮件,你应该发送电子邮件的重新请求(通过在FB.login选项中添加“auth_type:'rerequest'”。 FB文档中描述了所有内容:https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.3