Попробуйте:
// Just to make sure email are permitted
//$facebook->getLoginUrl(array('req_perms' => 'email'))
// Request email
FB.api('/me?scope=email', function(response) { /*...*/ });
Или:
$email = $facebook->api('user_id?fields=email');
ПРОБЛЕМЫ:
- Пользовательизменил видимость его адреса электронной почты на «только я», и поэтому у вас нет возможности его получить.
- Пользователь зарегистрировался с помощью SMS вместо электронной почты, как упоминалось в предыдущем ответе.
АЛЬТЕРНАТИВА:
Если вам абсолютно необходимо связаться с пользователем, но вы не можете получить его адрес электронной почты, вы все равно можете получить его адрес электронной почты Facebook (у всех есть этот адрес): "user_name @ facebook.com ".
Если пользователь использует POP-сервер, он напрямую получит электронное письмо в GMail или других, а если нет, то получит ваше электронное письмо как личное сообщение.Единственным недостатком этого метода является то, что ваша электронная почта должна быть "обычная / текстовая", а не "HTML".