0

我想通过调用facebook api来检索用户的电子邮件地址。 我正在使用使用facebook检索电子邮件地址时出错SDK

FB.api('/me?fields=email', function(response) { 
var txt="Email:"+response.email; 
var element=document.getElementById("email").innerHTML=txt; 
    }); 

检索电子邮件地址的代码。

登录时我已要求电子邮件的权限如下: -

FB.Event.subscribe('auth.authResponseChange', function(response) { 
    if (response.status === 'connected') { 
     testAPI(); 
    } else if (response.status === 'not_authorized') { 

    FB.login({scope: 'email'}); 
    } else { 
    FB.login({scope: 'email'}); 
    } 
    }); 
    }; 

不过当我打印电子邮件ID显示“未定义”。

+0

登录,您登录到控制台中得到您的访问令牌,并在这里检查是否真的有'这里包括email'权限:https://developers.facebook.com/tools/debug – CBroe

+0

是第一在FB SDK加载完成后执行Javascript,并检查用户是否已登录后? – Tobi

+0

@CBroe如何获取用户的访问令牌? – Saumyaraj

回答

1

好的,我已经得到了我的问题的答案。 如果您使用Facebook的按钮代码,那么您必须添加额外的权限作为一个数组。我在做的是用权限手动调用登录功能,但忘记添加权限作为按钮代码中的范围。

<div class="fb-login-button" data-max-rows="5" data-size="xlarge" data-show-faces="true" scope=['email'] data-auto-logout-link="true"></div> 
相关问题