J'ai une application de bureau Facebook et j'utilise l' API Graph . Je peux obtenir le jeton d'accès, mais après cela, je ne sais pas comment obtenir l'identifiant de l'utilisateur.
Mon flux est comme ceci:
J'envoie l'utilisateur à https://graph.facebook.com/oauth/authorize avec toutes les autorisations étendues requises.
Dans ma page de redirection, je reçois le code de Facebook.
Ensuite, j'effectue une requête HTTP à graph.facebook.com/oauth/access_token avec ma clé API et j'obtiens le jeton d'accès dans la réponse.
À partir de ce moment, je ne peux pas obtenir l'ID utilisateur.
Comment résoudre ce problème?
facebook
facebook-graph-api
Mohoch
la source
la source
https://graph.facebook.com/me?fields=id&access_token=xxxxxx
Le moyen le plus simple est
alors vous obtiendrez une réponse json qui ne contient que l'ID utilisateur.
la source
Le jeton d'accès Facebook est également similaire "1249203702 | 2.h1MTNeLqcLqw __. 86400.129394400-605430316 | -WE1iH_CV-afTgyhDPc"
si vous extrayez la partie médiane en utilisant | pour diviser vous obtenez
2.h1MTNeLqcLqw __. 86400.129394400-605430316
puis divisé à nouveau par -
la dernière partie 605430316 est l'identifiant de l'utilisateur.
Voici le code C # pour extraire l'ID utilisateur du jeton d'accès:
AVERTISSEMENT: la structure du jeton d'accès n'est pas documentée et peut ne pas toujours correspondre au modèle ci-dessus. Utilisez à vos risques et périls.
Mise à jour en raison de changements dans Facebook. la méthode préférée pour obtenir l'ID utilisateur du jeton d'accès chiffré est la suivante:
la source
Vous pouvez utiliser le code ci-dessous sur onSuccess (LoginResult loginResult)
la source
Il vous suffit de frapper une autre API Graph:
Il donnera également votre adresse e-mail et votre identifiant d'utilisateur (pour Facebook).
la source
Avec la dernière API, voici le code que j'ai utilisé pour cela
la source
dans FacebookSDK v2.1 (je ne peux pas vérifier l'ancienne version). Nous avons
Cependant, selon le commentaire dans FacebookSDK
@discussion Ceci peut ne pas être renseigné pour les comportements de connexion tels que le compte système iOS.
Vous devriez peut-être vérifier s'il est disponible, puis si vous l'utilisez ou appelez la demande pour obtenir l'ID utilisateur
la source
Consultez cette réponse , qui décrit comment obtenir une réponse ID. Tout d'abord, vous devez créer une méthode pour obtenir des données:
Ensuite, utilisez simplement votre méthode quand vous le souhaitez, comme ceci:
la source