【问题标题】:Facebook graph api no email in access tokenFacebook graph api在访问令牌中没有电子邮件
【发布时间】:2011-01-11 12:48:42
【问题描述】:

在使用 facebook graph api 验证用户时,成功登录后,我想获取用户电子邮件。

为此,我提出了对用户数据的请求: https://graph.facebook.com/me?access_token=xxxxxxxxxx

但令我惊讶的是,我无法在 json 输出中获取用户的电子邮件... 我怎样才能得到电子邮件? 我们需要指定任何权限吗?

【问题讨论】:

  • 我认为您无法获取正在验证的用户的电子邮件
  • 不,我可以轻松收到一些用户的电子邮件,但对于某些用户,我无法获得。在权限屏幕本身中,电子邮件选项不显示。有没有办法请求用户电子邮件的权限?
  • 拜托,谁能帮帮我...我无法弄清楚...

标签: php facebook facebook-graph-api


【解决方案1】:

你必须强制它,像这样:
...graph.facebook.com/me?**fields=email,name**&access_token...
然后你可以使用对象 user->email

【讨论】:

    【解决方案2】:

    是的,您确实需要获得许可才能获取某人的电子邮件,尽管有些人设置了他们的隐私,这样您就可以在没有此明确许可的情况下获取他们的电子邮件,但大多数人不需要。

    需要在登录部分下设置权限(这取决于您的登录方式以及显示方式,因此除非我有更多信息,否则我无法真正帮助您)。

    “user_about_me”是您可能已经拥有的用户权限,但您需要“电子邮件”才能获取他们的主电子邮件。

    更多关于 facebook 开发者权限的信息可以在here找到。

    我希望这会有所帮助!

    祝你好运,

    乔恩

    【讨论】:

    • 嗨,我现在可以通过在我的图形 api 请求中请求权限来获取用户电子邮件,方法是在我的请求末尾添加:scope=email。 :)
    • @dskanth:这个答案有帮助吗?如果是,则接受它。否则,请在解决方案中添加新答案并接受您自己的答案。
    • 所以我在权限字符串中有“电子邮件”,但对于我的 0.1% 的用户来说,不允许通过他们的访问令牌发送电子邮件。我已经在 graph api explorer 中确认了这一点。
    【解决方案3】:

    是的,您必须征得电子邮件许可。 如果您已经在请求中询问了电子邮件,但您仍然没有在响应中获得电子邮件 ID,那么这是由于用户使用手机号码注册并且没有在个人资料中输入他的电子邮件 ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-07
      • 2016-10-25
      • 2015-10-18
      • 2018-07-03
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多