Eu tenho um aplicativo de desktop do Facebook e estou usando a API Graph . Consigo obter o token de acesso, mas depois de feito - não sei como obter o ID do usuário.
Meu fluxo é assim:
Eu envio o usuário para https://graph.facebook.com/oauth/authorize com todas as permissões estendidas necessárias.
Na minha página de redirecionamento, recebo o código do Facebook.
Em seguida, eu executo uma solicitação HTTP para graph.facebook.com/oauth/access_token com minha chave de API e recebo o token de acesso na resposta.
Desse ponto em diante, não consigo obter o ID do usuário.
Como esse problema pode ser resolvido?
facebook
facebook-graph-api
Mohoch
fonte
fonte
https://graph.facebook.com/me?fields=id&access_token=xxxxxx
A maneira mais fácil é
então você obterá a resposta json que contém apenas o ID do usuário.
fonte
O token de acesso do Facebook também é semelhante a "1249203702 | 2.h1MTNeLqcLqw __. 86400.129394400-605430316 | -WE1iH_CV-afTgyhDPc"
se você extrair a parte do meio usando | para dividir você consegue
2.h1MTNeLqcLqw __. 86400.129394400-605430316
então dividido novamente por -
a última parte 605430316 é o ID do usuário.
Aqui está o código C # para extrair o ID do usuário do token de acesso:
AVISO: a estrutura do token de acesso não é documentada e nem sempre se ajusta ao padrão acima. Use-o por sua própria conta e risco.
Atualização devido a mudanças no Facebook. o método preferido para obter o ID do usuário do token de acesso criptografado é o seguinte:
fonte
Você pode usar o código abaixo em onSuccess (LoginResult loginResult)
fonte
Você só precisa acessar outra API Graph:
Ele também fornecerá seu ID de e-mail e ID de usuário (para Facebook).
fonte
Com a API mais recente, aqui está o código que usei para ela
fonte
no FacebookSDK v2.1 (não consigo verificar a versão anterior). Nós temos
No entanto, de acordo com o comentário no FacebookSDK
@discussion Não pode ser preenchido para comportamentos de login, como a conta do sistema iOS.
Talvez você deva verificar se está disponível e, em seguida, se usá-lo ou chamar a solicitação para obter o ID do usuário
fonte
Confira esta resposta , que descreve como obter uma resposta de ID. Primeiro, você precisa criar o método get data:
Em seguida, basta usar seu método sempre que quiser, como este:
fonte