Spróbuj:
// Just to make sure email are permitted
//$facebook->getLoginUrl(array('req_perms' => 'email'))
// Request email
FB.api('/me?scope=email', function(response) { /*...*/ });
Lub:
$email = $facebook->api('user_id?fields=email');
problemy:
- Użytkownik zmienił widoczność swojego adresu e-mail do "tylko ja", a tym samym nie masz sposobu, aby to zdobyć.
- Użytkownik zarejestrował się w wiadomości SMS zamiast e-mail, jak wspomniano w poprzedniej odpowiedzi.
ALTERNATYWA:
Jeśli koniecznie musisz skontaktować się z użytkownikiem, ale nie można dostać swój adres e-mail nMożesz nadal dostać swoją Facebook E-mail (każdy ma ten e-mail): „[email protected]” .
Jeśli użytkownik korzysta z serwera POP, bezpośrednio otrzyma wiadomość e-mail w Gmailu lub innych, jeśli nie, otrzyma wiadomość e-mail jako wiadomość prywatną. Jedyną wadą, jeśli ta metoda polega na tym, że twój e-mail musi być "czysty/tekst", a nie "HTML".
mieć spojrzeć na: http://stackoverflow.com/questions/9601620/facebook-graph-api-returning-an-empty-email? – Mangiucugna