我正在打电话
https://graph.facebook.com/<user_id>/?access_token=<valid_token>
或只是
https://graph.facebook.com/me/?access_token=<valid_token>
并获取不包含我需要的主用户电子邮件的json对象。 我为应用设置了电子邮件权限,但没有效果。 什么可能是错的?
答案 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
答案 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提供它。确保你的代码处理这种情况。