Facebook图形api不返回任何电子邮件

时间:2013-01-03 13:59:49

标签: facebook facebook-graph-api

我正在打电话

https://graph.facebook.com/<user_id>/?access_token=<valid_token>

或只是

https://graph.facebook.com/me/?access_token=<valid_token>

并获取不包含我需要的主用户电子邮件的json对象。 我为应用设置了电子邮件权限,但没有效果。 什么可能是错的?

5 个答案:

答案 0 :(得分:7)

您的访问令牌可能没有email权限。

您可以使用Acess Token Debugger

进行验证

答案 1 :(得分:7)

您是否记得在登录请求中询问电子邮件权限?您可以通过在登录请求中添加这样的scope参数(&amp; scope = email):

来完成此操作
https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URI&state=SOME_ARBITRARY_BUT_UNIQUE_STRING&scope=email

Facebook API reference

答案 2 :(得分:3)

我相信您的问题是,即使在授予访问电子邮件权限后,您也无法通过图谱API获取电子邮件信息。在较新的版本中,您需要将字段param传递给API以获取其他信息,例如电子邮件。默认情况下,它仅提供响应中的id和名称。请在下面找到如何从图表中获取其他信息的示例:

https://graph.facebook.com/me?fields=id,email,first_name,gender,last_name,link,locale,name,timezone,updated_time,verified&access_token=<value of access_token>&debug=all

希望这有帮助。

答案 3 :(得分:1)

自API 2.5版发布以来,您可以收到如下用户电子邮件:https://graph.facebook.com/v2.5/me?fields=id,name,email

答案 4 :(得分:0)

有可能在Facebook中未验证电子邮件。在这种情况下,Facebook不会通过API提供它。确保你的代码处理这种情况。