Facebook Connect Graph API - Pourquoi je ne peux pas récupérer les détails de tous les utilisateurs?

StackOverflow https://stackoverflow.com/questions/3411700

  •  26-09-2019
  •  | 
  •  

Question

Je me sens comme à chaque seconde question que je pose ici est relative à Facebook Connect - qui dit beaucoup de choses sur leur API. Quoi qu'il en soit, c'est la politique, je me éloigne du sujet ..

Je suis en train de retirer les détails de l'utilisateur de l'API graphique pour une utilisation dans mon application (ce qui est un site Web externe FBML - SDK JavaScript pour l'authentification).

J'ai demandé les autorisations suivantes de l'utilisateur: (en utilisant la boîte de dialogue régulière)

  • publish_stream
  • email

Cela fonctionne, et me permet de poster sur le mur de l'utilisateur, et récupérer leur courrier électronique de l'API graphique.

Mais quand je fais une demande HTTP GET à l'URL suivante:

https://graph.facebook.com/uid?access_token=oat (où uid = l'ID utilisateur de l'utilisateur que je tente de saisir les détails pour, et avoine = le jeton OAuth j'ai).

Tout ce qui revient dans le JSON est l'ID utilisateur (que je l'ai déjà, depuis im le mettre dans l'URL) et l'e-mail.

Pourquoi ne puis-je pas obtenir des choses comme le prénom, le nom, le lieu, etc?

Suis-je utiliser la mauvaise URL? Mon jeton OAuth ne va pas?

Je reçois le jeton OAuth d'ici:

https://graph.facebook.com/ OAuth / access_token? type = client_cred & client_id = myappid & client_secret = myappsecret

Mise à jour:

Il semble que la question est mon jeton OAuth.

Parce que quand je vais à la documentation: http://developers.facebook.com/docs/api

Et utiliser l'exemple Jeton OAuth pour l'utilisateur Im essayant de récupérer, il obtient tous les détails.

Quelqu'un sait ce qui ne va pas avec mon OAuth appel jeton?

Était-ce utile?

La solution

Alors, j'utilisais la mauvaise URL pour la Bourse OAuth. Il devait être ceci: https://graph.facebook.com/oauth / exchange_sessions? type = client_cred & client_id = myappid & client_secrete = myappsecret & sessions = userseshid

L'URL que j'utilisais était selon le Doco, celui ci-dessus qui fonctionne est nulle part.

Je suis au point avec CLF que je ne me soucie plus de la comment , si cela fonctionne, être reconnaissant qu'il fait même cela et passer à autre chose.

EDIT:

En outre, je me demandais pourquoi les appels API graphique serait « stop » de travail sans raison.

La réponse est que je devais comparer la clé de session utilisée pour obtenir le jeton OAuth, avec la clé de session actuellement dans les cookies. Si elles sont différentes, je avais besoin pour obtenir un nouveau jeton OAuth.

La clé de session utilisée pour tout jeton OAuth fait partie du jeton OAuth réelle:

aaa|bbbb|cccc

Où bbbb est la clé de session. Donc, je compare juste que avant de faire des appels API graphique.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top