如何从Facebook Graph API返回电子邮件?

时间:2015-10-31 16:58:50

标签: javascript facebook facebook-javascript-sdk

我正在使用Facebook SDK实现登录。

// Here we run a very simple test of the Graph API after login is
// successful.  See statusChangeCallback() for when this call is made.
function testAPI() {
    console.log('Welcome!  Fetching your information.... ');
    FB.api('/me', function(response) {
      console.log('Successful login for: ' + response.name);
      console.log(response);
      document.getElementById('status').innerHTML =
        'Thanks for logging in, ' + response.name + response.email + response.id + '!';
    });

    FB.api('/me/permissions', function(response) {
      console.log(response);

    });

}

<fb:login-button scope="public_profile,email" onlogin="checkLoginState();">
</fb:login-button>

登录成功,上面的代码显示用户的名称和ID。但是,电子邮件显示未定义。这很奇怪,因为当我检查为权限查询返回的响应对象时,我看到user_friends,email和public_profile都已被授予。为什么电子邮件未定义呢?

1 个答案:

答案 0 :(得分:0)

一些可能的原因:

帐户没有电子邮件地址

帐户中未确认电子邮件地址

帐户中没有经过验证的电子邮件地址