Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Can';无法从facebook API v2.5获得回复。即使在应用程序评论中电子邮件也是绿色的_Php_Facebook_Facebook Javascript Sdk_Facebook App Requests - Fatal编程技术网

Php Can';无法从facebook API v2.5获得回复。即使在应用程序评论中电子邮件也是绿色的

Php Can';无法从facebook API v2.5获得回复。即使在应用程序评论中电子邮件也是绿色的,php,facebook,facebook-javascript-sdk,facebook-app-requests,Php,Facebook,Facebook Javascript Sdk,Facebook App Requests,无法从facebook API v2.5获取响应。即使电子邮件在应用程序评论中是绿色的,也无法从facebook API v2.5获取响应。我使用了这个基本的FB.api(),即使使用SCOPE,它也不会返回电子邮件 FB.api('/me', function(response) { console.log(response); }); 首先,确保使用scope:email调用FB.login(),以便令牌具有访问用户电子邮件的权限 然后,您应该在调用/me时明确提及电子邮件字段,因

无法从facebook API v2.5获取响应。即使电子邮件在应用程序评论中是绿色的,也无法从facebook API v2.5获取响应。我使用了这个基本的FB.api(),即使使用SCOPE,它也不会返回电子邮件

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

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

然后,您应该在调用
/me
时明确提及
电子邮件
字段,因为默认情况下,它将仅返回
id
name

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

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

FB.api('/me', {fields: 'email'}, function(response) {
    console.log(response);
});
当然,请确保您已在范围中添加了
电子邮件
权限:

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

    }
}, {scope: 'email'});
额外的

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

确保您在登录时定义了“电子邮件”范围,然后您可以在询问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',
);

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

我仍然无法获取登录用户的电子邮件。我必须向facebook申请许可吗?但该电子邮件已被批准im my approved并不意味着用户已授权该电子邮件。请参阅FB.login。电子邮件地址也必须在用户帐户中获得批准。我使用了您提供的代码,现在它只返回用户ID,然后您没有正确授权,或者您的电子邮件未被批准。如果您也需要名称,请尝试字段:“email,name”。阅读changelog.mybad中的声明性字段,代码没有问题,我只是重置了应用程序上的权限。mybad,代码没有问题,我只是重置了应用程序上的权限。