FB API GRAPH:为什么我收不到用户邮箱?

FB API GRAPH: why I can't catch the user email?

我正在尝试检索登录我的网络应用程序的用户的电子邮件;这是我的代码:

  FB.api('/me', function(response) {
    console.log(response.name + ', ' + response.email);
  });

用户名正确,但电子邮件结果为

undefined

我哪里错了?

https://developers.facebook.com/docs/reference/javascript/FB.login/v3.2

登录过程中请求email权限:

FB.login((response) => {
  // handle the response
}, {scope: 'email'});

另外,您需要询问您想要获取的字段:

FB.api('/me', {fields: 'name,email'}, (response) => {
    console.log(response.name + ', ' + response.email);
});

确保用户甚至有电子邮件,这不是必需的。并确保您确实在登录弹出窗口中被要求获得 email 权限。

旁注:我只使用 console.log(response),因此您可以看到整个对象而不是一些 undefined 值。