使用facebook SDK检索电子邮件地址时出错

使用facebook SDK检索电子邮件地址时出错,facebook,facebook-graph-api,facebook-javascript-sdk,facebook-login,Facebook,Facebook Graph Api,Facebook Javascript Sdk,Facebook Login,我想通过调用facebook api检索用户的电子邮件地址。 我正在使用 FB.api('/me?fields=email', function(response) { var txt="Email:"+response.email; var element=document.getElementById("email").innerHTML=txt; }); 用于检索电子邮件地址的代码 我已在登录期间请求电子邮件权限,如下所示:- FB.Event.subscribe('auth.

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

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时,它仍然显示“未定义”。

好的,我已经找到了问题的答案。 如果您使用的是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>


记录您在登录控制台期间获得的访问令牌,并在此处检查它是否真的具有此处包含的
电子邮件
权限:加载FB SDK后是否执行第一个Javascript,以及检查用户是否登录后?@CBroe如何获取用户的访问令牌?@Tobi yes,第一个javascript在FB SDK加载后加载。@CBroe如果您能给我一些时间,我想从您这边得到关于“如何获取用户访问令牌”的答案。