Facebook Graph API返回数字而不是电子邮件地址

时间:2012-06-10 06:40:24

标签: facebook facebook-graph-api

我正在使用Facebook Connect和Facebook Graph API在用户注册我的网站时获取用户的电子邮件地址。这在99%的时间内完美地工作,但有时当我在给予我的网站许可(包括电子邮件许可)后查询用户数据的Graph API时,Facebook会返回一个大号(例如14036774009)作为该人的电子邮件地址。

到目前为止,数字总是不同的,总是11位数,而图谱API中的所有其他用户数据都是有效的。我从来没有能够用我控制的Facebook帐户复制这个问题。

在某些方面,大数字让我想起Facebook为那些选择向第三方应用提供转发地址而非主要地址的人生成的随机代理电子邮件地址(代理地址如下所示:apps + 148742679521093.617890126 .8a2b26037e1ccd06bb81aaec5925f4c7 @ proxymail.facebook.com)

任何人都可以解释这种行为或解决方法(并始终获得有效的电子邮件地址)吗?

3 个答案:

答案 0 :(得分:2)

这是一个错误。已经向Facebook报道:

https://developers.facebook.com/bugs/298946933534016

即使使用图形浏览器 - https://developers.facebook.com/tools/explorer,似乎也会发生这种情况,但仅适用于某些用户。在我的情况下,大约0.2%的时间。

因此,在修复之前,您有两个选择:

  • 如果Facebook为您提供了错误的电子邮件价值,请手动询问用户他/她的电子邮件。
  • 保存长期访问令牌,然后定期再次尝试查看是否收到了正确的回复邮件。

答案 1 :(得分:0)

你还在以某种方式使用旧的身份验证对话框吗? 提供代理电子邮件地址的功能仅在旧的身份验证对话框中

答案 2 :(得分:0)

对于使用手机号码注册Facebook并且返回的号码就是这样的人来说,就会发生这种情况。

没有选择获取用户的电子邮件地址,因为他可能尚未将其提供给Facebook。