Hãy thử:
// Just to make sure email are permitted
//$facebook->getLoginUrl(array('req_perms' => 'email'))
// Request email
FB.api('/me?scope=email', function(response) { /*...*/ });
Hoặc:
$email = $facebook->api('user_id?fields=email');
VẤN ĐỀ:
- Người dùng đã thay đổi tầm nhìn của địa chỉ email của mình để "chỉ mình tôi" và do đó bạn không có cách nào để có được nó.
- Người dùng đã đăng ký bằng SMS thay vì email như được đề cập trong câu trả lời trước.
ALTERNATIVE:
Nếu bạn hoàn toàn cần liên hệ với người sử dụng nhưng bạn không thể có được địa chỉ email của mình nmình vẫn có thể nhận email Facebook của mình (tất cả mọi người có email này): "[email protected]" .
Nếu người dùng sử dụng máy chủ POP, họ sẽ trực tiếp nhận email trong Gmail hoặc những người khác, nếu không, anh ấy sẽ nhận được email của bạn dưới dạng tin nhắn riêng tư. Hạn chế duy nhất nếu phương pháp này là email của bạn phải là "plain/text" chứ không phải "HTML".
hãy xem: http://stackoverflow.com/questions/9601620/facebook-graph-api-returning-an-empty-email? – Mangiucugna