我打电话
https://graph.facebook.com/<user_id>/?access_token=<valid_token>
要不就
https://graph.facebook.com/me/?access_token=<valid_token>
并取回不包含我需要的主要用户电子邮件的 json 对象。我为应用程序设置了电子邮件权限,但没有效果。有什么问题?
我打电话
https://graph.facebook.com/<user_id>/?access_token=<valid_token>
要不就
https://graph.facebook.com/me/?access_token=<valid_token>
并取回不包含我需要的主要用户电子邮件的 json 对象。我为应用程序设置了电子邮件权限,但没有效果。有什么问题?
您还记得在登录请求中询问电子邮件权限吗?您可以通过在登录请求 (&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
您可能没有email
访问令牌的权限。
我相信您的问题是,即使在授予访问电子邮件的权限后,您也无法通过 Graph API 获取电子邮件信息。在较新的版本中,您需要将字段参数传递给 API 以获取其他信息,例如电子邮件。默认情况下,它只提供 id 和 name 作为响应。请在下面找到有关如何从图表中获取其他信息的示例:
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
希望这可以帮助。
电子邮件可能未在 facebook 中验证。在这种情况下,facebook 不会通过 API 提供它。确保您的代码处理这种情况。
自 API 版本 2.5 发布以来,您可以获得如下用户电子邮件:https://graph.facebook.com/v2.5/me?fields=id,name,email