Facebook только возвращает имя и идентификатор пользователя

Я пытаюсь войти на мой сайт, используя свою учетную запись на Facebook, но Facebook дает имя и идентификатор, но этого недостаточно, чтобы войти в систему. До того, как я получил полную информацию, такую ​​как имя, фамилия, адрес электронной почты и т. Д.

Теперь данные, предоставленные facebook:

stdClass Object ( [name] => FName LName [id] => 236189327864097 ) 

Я использую Oauth v2.0 для входа пользователей через Facebook на свой сайт.

Related of "Facebook только возвращает имя и идентификатор пользователя"

Похоже, вы используете v2.4 API-интерфейса Graph. Видеть

Декларативные поля
Чтобы повысить производительность в мобильных сетях, Nodes и Edges в версии 2.4 требуют, чтобы вы явно запрашивали поля, которые вам нужны для ваших запросов GET. Например, GET /v2.4/me/feed больше не включает в себя предпочтения и комментарии по умолчанию, но GET /v2.4/me/feed?fields=comments,likes вернет данные. Для получения дополнительной информации см. Документы о том, как запрашивать определенные поля.

Чтобы получить представление о том, как использовать так называемое расширение поля, взгляните на

 FB.api('/me?fields=first_name, last_name, picture, email', function(response) { console.log(response); document.getElementById('status').innerHTML = 'Thanks for logging in, ' + response.first_name + '!'; }); 

Это сработало для меня. Передайте email после / me? Fields = в запросе FB.api.

Если вы используете PHP, вам также нужно прочитать эту статью:

https://developers.facebook.com/docs/facebook-login/permissions/v2.4

В основном, Fb говорит об email что

Обратите внимание, что даже если вы запросите разрешение электронной почты, оно не будет гарантировано, вы получите адрес электронной почты. Например, если кто-то подписался на Facebook с номером телефона вместо адреса электронной почты, поле электронной почты может быть пустым.