繁体   English   中英

无法通过分析Facebook登录获取用户的电子邮件

[英]Unable to get user's email with Parse Facebook login



我正在使用Parse,并且试图创建一个简单的facebook登录名。 我的FB初始化看起来像:

window.fbAsyncInit = function() {
    Parse.FacebookUtils.init({ // this line replaces FB.init({
      appId      : 'xxxxxxxxxxxxxx', // Facebook App ID
      status     : true,  // check Facebook Login status
      cookie     : true,  // enable cookies to allow Parse to access the session
      xfbml      : true,  // initialize Facebook social plugins on the page
      version    : 'v2.3' // point to the latest Facebook Graph API version
    });
};

我的FB登录功能如下所示:

Parse.FacebookUtils.logIn('email', {
      success: function(user) {
        if (!user.existed()) {
          alert("User signed up and logged in through Facebook!");              
        } else {
          alert("User logged in through Facebook!");
        }
      },
      error: function(user, error) {
        console.log(error);
      }
});

该流程非常有效,因为我可以看到在Parse核心视图(Users表)中创建了用户(首次登录),并且可以看到Parse.User.current()是FB用户。
问题是, 我找不到用户的电子邮件...

我努力了:

Parse.User.current().getEmail(); //undefined
FB.api('/me', function(me) { console.log(me) }); //prints an object with 'name' and 'id' fields only

没有任何效果。
另外,我尝试将null /'email'/'public_profile,email'作为第一个FB登录参数,但没有成功... :(

有任何想法吗?

谢谢!

FB.api('/me?fields=name,email', function(me) { console.log(me) });

它称为“声明性字段”: https : //developers.facebook.com/docs/apps/changelog#v2_4

如果这不起作用,则登录可能有问题。 确保要求您提供电子邮件许可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM