无法从Facebook SDK获取某些特定电子邮件帐户的电子邮件地址。我正在测试的Facebook帐户确实在Facebook上有他们的电子邮件地址。我只针对某些特定帐户出现此问题。是否有任何我必须从Facebook激活的设置。要获取电子邮件,我使用的是PHP Facebook SDK,代码如下:
$fb = new Facebook\Facebook([
'app_id' => 'xxxxxxxxx',
'app_secret' => 'xxxxxxxxxxxxx',
'default_graph_version' => 'v2.11',
]);
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->get('/me?locale=en_US&fields=id,name,email', $access_token);
} catch (Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch (Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$user = $response->getGraphUser();
echo '<pre>';
var_dump($user);
exit;
如果我使用artdarek / oauth-4-laravel,我也可以获取特殊情况的电子邮件地址。但是由于项目是实时的,我无法在实时服务器中安装相同的内容。请使用PHP Facebook SDK建议另一种方法。