Javascript 如何获取从Facebook Graph API返回的电子邮件?
我正在使用Facebook SDK实现登录Javascript 如何获取从Facebook Graph API返回的电子邮件?,javascript,facebook,facebook-javascript-sdk,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.ap
// 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>
//在登录完成后,我们对Graph API运行一个非常简单的测试
//成功。请参阅statusChangeCallback()了解何时进行此调用。
函数testAPI(){
log('欢迎!获取您的信息…);
FB.api('/me',函数(响应){
console.log('successfulllogin for:'+response.name);
控制台日志(响应);
document.getElementById('status').innerHTML=
'感谢您登录,'+response.name+response.email+response.id+'!';
});
api('/me/permissions',函数(响应){
控制台日志(响应);
});
}
登录成功,上面的代码显示用户的名称和id。然而,电子邮件显示未定义。这很奇怪,因为当我检查为权限查询返回的响应对象时,我看到用户朋友、电子邮件和公共配置文件都被授予了权限。为什么电子邮件没有定义?一些可能的原因:
帐户上没有电子邮件地址
帐户上没有确认的电子邮件地址
帐户上没有经过验证的电子邮件地址因为您提到“当我检查为权限查询返回的响应对象时,我看到用户朋友、电子邮件和公共配置文件都已被授予。”,我排除了您没有包括电子邮件权限的可能性。