joa*_*eno 57 javascript facebook
编辑:不重复,因为:
请勿在没有阅读的情况下标记为重复.
我正在尝试获取用户的电子邮件地址,但我没有得到它.在图形api资源管理器上,当我点击发送时,电子邮件字段变为灰色并表示:
字段为空或访问令牌不允许
但是当我调试令牌时,它已经授予了电子邮件权限
我的个人资料有一个电子邮件地址.
更新:我试过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>
Run Code Online (Sandbox Code Playgroud)
有可能锁定你的电子邮件,所以没有人可以拥有它?即使我批准了吗?
Mie*_*ere 38
马库斯的回答让我想到了我面临的真正问题.
使用Facebook Explorer工具调试我能够弄清楚我应该在方法中设置电子邮件范围FB.api().
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'});
Run Code Online (Sandbox Code Playgroud)
在Quickstart指南中并不十分清楚,我希望它也可以帮助其他人.
ozb*_*zba 34
我有同样的问题,我想我发现了原因:如果用户在Facebook上有未经证实的电子邮件(即Facebook向他发送了验证邮件到他的电子邮件地址,但他没有回复)Facebook将不会将该电子邮件传递给您的应用程序即使他给你电子邮件权限(!!!).
所以我所做的就是使用他的Facebook电子邮件,如果他有一个用户名(即userName@facebook.com).
joa*_*eno 20
在我将我的错误报告标记为重复,并且我阅读了所有帖子和链接后,我得到了什么导致了这个问题以及如何修复.
该问题 的Facebook似乎有时会忘记你的主电子邮件就是在图形API(但它仍然存在的偏好.)
解决方案 受影响的用户必须删除电子邮件,保存设置,然后重新添加地址,重新确认,然后将其设为主要.这修复了我的沙盒应用程序以及Facebook登录不习惯的其他应用程序的帐户.
新的facebook图表需要在/ me请求中添加范围如下:
/我?场=电子邮件,生日,位置,区域,AGE_RANGE,货币,名字,姓氏,name_format,性别&=的access_token
| 归档时间: |
|
| 查看次数: |
46141 次 |
| 最近记录: |