FacebookgraphicsAPI将不会返回电子邮件地址

编辑: 不重复,因为:

  • 我有权限
  • debugging令牌
  • 代码与testing用户一起工作

请不要在没有阅读的情况下标记为重复。

我试图得到用户的电子邮件地址,但我不明白。 在graphicsAPI浏览器,当我点击发送,电子邮件字段变灰,并说:

字段为空或由访问令牌禁止

但是当我debugging令牌时,它授予了电子邮件许可

我的个人资料有一个电子邮件地址。

更新:我试过https://developers.facebook.com/tools/console/ 。 即使在另一台电脑上,我的个人资料也不会返回 但是相同的代码返回另一个帐户的电子邮件,名称和uid。

码:

<fb:login-button scope="email"> Grant Permissions to make more examples work </fb:login-button> <button onclick="doPost()">Post to Stream</button> <script> function userData() { FB.api('/me?fields=name,email', Log.info.bind('/me callback')); }; FB.getLoginStatus(function(response) { if (response.status === 'connected') { userData(); } }); </script> 

有可能locking你的电子邮件,所以没有人可以拥有它? 即使我授权?

我有同样的问题,我想我find了原因:如果用户有一个未经确认的电子邮件在Facebook(即Facebook发给他一个确认邮件到他的电子邮件地址,但他没有回应)Facebook不会通过该电子邮件到您的应用程序即使他给你的电子邮件许可(!!!)。

所以我做的是用他的Facebook电子邮件,如果他有一个用户名(即userName@facebook.com)。

马库斯的回答使我面临着真正的问题。

使用Facebook Explorer工具进行debugging我能够弄清楚,我应该在FB.login()方法中设置邮件范围 。

 FB.login(function(response) { if (response.status === 'connected'){ FB.api('/me?fields=id,email,name', function(data) { console.log( data.email ) // it will not be null ;) }) }, {scope: 'email'}); 

快速入门指南中不太清楚,我希望它也能帮助其他人。

当我得到我的错误报告标记为重复,并阅读所有职位和链接那里,我得到了什么导致这个问题,我怎么修复。

问题 Facebook似乎有时会忘记你的主要电子邮件是在graphicsAPI上(但它仍然存在于偏好中)。

解决scheme受影响的用户必须删除电子邮件,保存设置,然后重新添加地址,重新确认,然后将其设置为主要。 这固定我的帐户,在我的沙盒应用程序和Facebooklogin不工作的其他应用程序。

我在为我的网站开发fbloginbutton时遇到同样的问题。 我甚至在这里为我的应用程序设置了权限:

 https://developers.facebook.com/apps/<my-app-ID>/permissions 

对于某些最初的情况,它正在正常工作,那就是给我发电子邮件(我自己testing了这个邮件,并发送了我的电子邮件)。 然后突然间,它开始没有反映任何电子邮件。 经过两个小时的浏览,我发现访问令牌存在问题,因为我在这个链接上:

 https://developers.facebook.com/tools/explorer/<your-fb-id>/?method=GET&path=100002451127858%3Ffields%3Did%2Cemail 

用你的id更新你的fb-id,然后转到上面的链接。 点击“获取访问令牌”。 在打开的标签中,点击“扩展权限”,然后select“电子邮件”并提交。 现在,再次testing您的查询。 它肯定会在控制台以及你的网站上工作。 干杯! 🙂

新的脸谱图需要/ me请求中添加的范围如下:

/我?场=电子邮件,生日,位置,区域,AGE_RANGE,货币,名字,姓氏,name_format,性别&=的access_token

这是一个已知的错误。 如果用户没有设置为主要的电子邮件地址,查询将返回空邮件。 将您帐户的电子邮件地址设置为https://www.facebook.com/settings?tab=account§ion=email&view ,然后尝试。

资料来源: https : //developers.facebook.com/bugs/298946933534016/