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/
- 如何检测Facebook的FB.init何时完成
- 检查扩展权限与新的Facebook的JavaScript的SDK
- Facebook JS SDK的FB.api('/ me')方法不会返回我在Graph API v2.4 +中所期望的字段
- redirect到身份validation对话框 – “发生错误。 请稍后再试”
- Python – Facebook的API – 需要一个工作的例子
- 没有loginbutton的Facebookauthentication
- 如何使用Facebook的API检查用户是否喜欢我的Facebook页面或URL
- 为什么Facebook的PHP SDK getUser总是返回0?
- Facebook如何禁用浏览器的集成开发者工具?