Facebook oauth登录不返回电子邮件

时间:2015-06-17 05:36:32

标签: facebook oauth facebook-oauth hello.js

我正在使用this插件进行oauth登录,这是我在进行登录时的FB响应:

{"state":"","access_token":"XYZ","expires_in":5110943,"client_id":"CLIENT ID","network":"facebook","display":"popup","redirect_uri":"http://localhost/XYZ123/www/callback.html","scope":"email,basic","expires":1439628780.389}}

问题是我没有得到email用户。根据其他SO解决方案:

我已经验证了电子邮件,这应该不是问题。我没有收到FB消息重新验证验证电子邮件。

以下是CLIENT ID/permissions

的输出
{
  "data": [
    {
      "permission": "email", 
      "status": "granted"
    }, 
    {
      "permission": "public_profile", 
      "status": "granted"
    }
  ]
}

2 个答案:

答案 0 :(得分:3)

您需要进行API调用才能获取用户个人资料。电子邮件不包含在authResponse对象中。

var fb = hello('facebook');
fb.login({scope:'email'}).then(function(){
   return fb.api('me');
}).then(function(res){
   // do something with res.email
}, console.error.bind(console) );

答案 1 :(得分:0)

电子邮件

通过用户对象上的电子邮件属性提供对该人的主电子邮件地址的访问。

不要垃圾邮件用户。您对电子邮件的使用必须符合Facebook政策和CAN-SPAM法案。

请注意,即使您申请电子邮件权限,也不能保证您会收到电子邮件地址。例如,如果有人使用电话号码而不是电子邮件地址注册Facebook,则电子邮件字段可能为空。

评分 您的应用可能会在未经Facebook审核的情况下使用此权限。

相关问题