首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Facebook Graph API不会返回电子邮件地址

Facebook Graph API不会返回电子邮件地址
EN

Stack Overflow用户
提问于 2013-05-19 10:50:46
回答 6查看 52.5K关注 0票数 64

编辑:不复制,因为:

我让permission

  • Debugged
  • 代码与测试用户

一起工作

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

我正在尝试获取用户的电子邮件地址,但我不知道。在图形api资源管理器上,当我点击发送时,电子邮件字段变灰,并显示:

字段为空或访问令牌不允许

,但当我调试令牌时,它已被授予电子邮件权限

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

更新:我试过https://developers.facebook.com/tools/console/。我的配置文件不返回任何内容,即使在另一台计算机上也是如此。但相同的代码会返回另一个帐户的电子邮件、名称和uid。

代码:

代码语言:javascript
复制
    <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>

是否可以锁定您的电子邮件,使任何人都不能拥有它?即使我允许你这么做?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-10-18 20:50:45

在我的bug报告被标记为重复之后,我阅读了那里的所有帖子和链接,我知道了是什么导致了这个问题以及如何修复。

的问题 Facebook似乎有时会忘记你的主要电子邮件在图形API上是什么(但它仍然在首选项中)。

Solution受影响的用户必须删除电子邮件,保存设置,然后重新添加地址,重新确认,然后将其设为主要地址。这修复了我在沙盒应用程序和其他应用程序上的帐户,这些应用程序的Facebook登录过去不起作用。

票数 21
EN

Stack Overflow用户

发布于 2016-01-25 22:15:13

马库斯的answer把我带到了我面临的真正问题上。

通过使用Facebook Explorer工具进行调试,我能够计算出在成功登录后应该在FB.api()方法执行set the email scope操作。

代码语言:javascript
复制
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'});

这在指南中还不是很清楚,我希望它也能对其他人有所帮助。

票数 43
EN

Stack Overflow用户

发布于 2013-12-15 20:36:02

我遇到了同样的问题,我想我找到了原因:如果用户在Facebook中有一封未经确认的电子邮件(即Facebook向他的电子邮件地址发送了一封验证邮件,但他没有回复),即使他给了你电子邮件权限(!),Facebook也不会将该电子邮件传递给你的应用程序。

因此,如果他有用户名(即userName@facebook.com),我就会使用他的Facebook邮箱。

票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16630972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档