Facebook用户访问令牌验证中未返回电子邮件

时间:2017-11-30 19:41:26

标签: php facebook-graph-api

我的应用程序的前端正在进行facebook登录。它获取auth令牌并将其提交给服务器。然后服务器使用令牌调用图形URL,但所有服务器都返回的是名称和ID。我正如所示那样粗暴地调用卷曲:

curl -v https://graph.facebook.com/me?access_token= ...

但我得到的回应只是名字和身份证明。

{“name”:“Henry Robers”,“id”:“10155954328696972”}

我的应用程序需要一封电子邮件才能创建一个帐户并发送欢迎信等等,所以我卡住了。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

  1. 您的应用程序必须已经请求,且用户必须已获得user_email权限的批准。 (由于您发布了一个活动的访问令牌,我检查过,您似乎已经这样做了。)

  2. 默认情况下,API会以非常小的字段子集进行响应。将fields=foo,bar添加到您的通话中,https://graph.facebook.com/me?fields=id,name,email&access_token=...应获取该信息(假设您输入了#1)。

  3. 不要像在此处一样公开共享访问令牌。我已经为您失效,但在许多情况下,这些将允许访问私人数据,以及代表用户发布。将它们视为关键的私密信息,如密码。