Facebook apenas retornando nome e identificação do usuário

Estou tentando acessar meu site usando minha conta do Facebook, mas o Facebook está dando nome e identificação, só que não é suficiente para fazer login no usuário. Antes de eu obter informações completas como primeiro nome, sobrenome, e-mail, etc.

Dados fornecidos pelo Facebook agora:

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

Estou usando Oauth v2.0 para fazer login usuários através do Facebook no meu site.

Parece que você está usando v2.4 da Graph API. Vejo

Campos declarativos
Para tentar melhorar o desempenho nas redes móveis, Nodes e Edges na v2.4 exige que você solicite explicitamente o (s) campo (s) que você precisa para seus pedidos GET. Por exemplo, GET /v2.4/me/feed já não inclui gostos e comentários por padrão, mas GET /v2.4/me/feed?fields=comments,likes irá retornar os dados. Para mais detalhes, veja os documentos sobre como solicitar campos específicos.

Para ter uma idéia de como usar a chamada expansão de campo, veja

 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 + '!'; }); 

Isso funcionou para mim. Passe o email após / me? Campos = no pedido FB.api.

Se você estiver usando PHP, você precisa ler também este artigo:

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

Basicamente, Fb diz sobre o email que

Note, mesmo que você solicite a permissão de e-mail, não está garantida, você receberá um endereço de e-mail. Por exemplo, se alguém se inscreveu no Facebook com um número de telefone em vez de um endereço de e-mail, o campo de e-mail pode estar vazio.