Javascript FB登录中使用的电子邮件作用域不起作用

Javascript FB登录中使用的电子邮件作用域不起作用,javascript,facebook-javascript-sdk,facebook-login,Javascript,Facebook Javascript Sdk,Facebook Login,我尝试在我的网站上使用FB登录,需要获取用户信息(电子邮件、公共档案、出生日期和位置)。但登录后,我得到的只有用户名和facebookId。代码: <img src="" alt="" onclick="fblogin();"/> JSON结果: {"name":"Name Surname","id":"xxxxxxxxxxxxxxxxx"} 没有电子邮件或任何其他信息。这是一个众所周知的问题,请在变更日志中搜索“声明性字段”: 例如: FB.api('/me?fields=id

我尝试在我的网站上使用FB登录,需要获取用户信息(电子邮件、公共档案、出生日期和位置)。但登录后,我得到的只有用户名和facebookId。代码:

<img src="" alt="" onclick="fblogin();"/>
JSON结果:

{"name":"Name Surname","id":"xxxxxxxxxxxxxxxxx"}

没有电子邮件或任何其他信息。

这是一个众所周知的问题,请在变更日志中搜索“声明性字段”:

例如:

FB.api('/me?fields=id,name,email', ...
我相信你也可以这样做:

FB.api('/me', {fields: 'id,name,email'}, ...

顺便说一句,确保您知道异步JavaScript是如何工作的,您正在FB.login之前调用checkLoginState(),但是FB.getLoginStatus不会立即返回某些内容,并且您总是在调用FB.login。这里有一篇关于如何正确使用FB.login和FB.getLoginStatus的文章:

谢谢!Facebook拥有数百万用户,但他们的开发者无法修复原始问题!我讨厌Facebook。我不知道你的意思,这不是一个问题,这是对性能的改进;)-facebook实际上在这方面做了一件好事,他们在变更日志中也提到了这一点。为什么facebook不能简单地制作一个好的100%功能教程?他们确实有很多非常好的功能教程,例如:
FB.api('/me', {fields: 'id,name,email'}, ...