无法从Facebook API v2.5获取Response.email,即使电子邮件在App评论中是绿色的

时间:2016-05-06 05:57:02

标签: php facebook facebook-javascript-sdk facebook-app-requests

无法从Facebook API v2.5获取Response.email,即使电子邮件在App Reviews中也是绿色的。我使用了这个基本的FB.api(),即使使用SCOPE它也不会返回EMAIL

        String line = "This order was32354 placed 343434for 43411 QT ! OK?";
        String regex = "[^\\d]+";

        String[] str = line.split(regex);
        String required = "";
        for(String st: str){
            System.out.println(st);
        }

4 个答案:

答案 0 :(得分:1)

请求其他字段(id和name除外)的正确方法是:

FB.api('/me', {fields: 'email'}, function(response) {
    console.log(response);
});

当然,请确保您已在范围中添加了email权限:

FB.login(function(response) {
    if (response.authResponse) {

    }
}, {scope: 'email'});

其他information

顺便说一句,您可以测试API调用here

答案 1 :(得分:0)

首先确保使用FB.login()调用scope: email,以便令牌拥有访问用户电子邮件的权限。

然后,您应该在调用email时明确提及字段/me,因为默认情况下它只会返回idname

  FB.api('/me?fields=email', function(response) {
      console.log(response);
  });

答案 2 :(得分:0)

确保定义"电子邮件"登录时的范围,然后当你问graph.facebook.com时可以得到它:

$url = 'https://www.facebook.com/dialog/oauth';
$params = array(
    'client_id' => $this->strategy['app_id'],
    'redirect_uri' => $this->strategy['redirect_uri'],
    'scope' => 'email',
);

答案 3 :(得分:0)

mybad,代码没有什么问题,我只是使用应用程序的权限进行了重置。