2010-12-11 24 views
9

Je construis une application où je dois lire l'histoire de l'éducation et le travail de toutes les personnes (si elle est pas masqué par les paramètres de confidentialité) dans un groupe facebook (groupe public). Les membres du groupe ne doivent pas nécessairement être des amis de l'utilisateur connecté à mon application.Impossible de récupérer les informations utilisateur via api facebook ou FQL

Je sais comment obtenir les identifiants facebook de toutes les personnes qui font partie du groupe, mais je suis incapable de retrouver l'histoire de l'éducation/travail de certaines personnes, même si tout le monde la voit sur facebook.

Pour exemple: quand j'ai visité la page de profil d'une personne sur le groupe (qui est pas mon ami), j'ai pu voir son EduAction/informations de travail. Cependant, quand je interroge via API de repos ou API graphique ou FQL, j'obtiens une valeur nulle !!

I ont essayé le texte suivant:

1) https://graph.facebook.com/UID
I a essayé le haut par une génération d'un jeton d'accès aussi obtenu encore qu'une valeur nulle

2) https://api.facebook.com/method/users.getInfo?uids=UID&fields=education_history

3) https://api.facebook.com/method/fql.query?query=SELECT%20education_history%20from%20user%20WHERE%20uid%20%3D%20UID

C'est la réponse JSON je reçois: [ { « education_history »: null} ]

Je serais très reconnaissant pour toute aide sur la façon dont je peux lire ces informations.

+0

J'ai le même problème. Cela n'a pas de sens que l'utilisateur puisse spécifiquement accorder l'autorisation ('friends_education_history'), mais l'application ne peut pas accéder à cette information. Nous avons besoin d'éclaircissements sur cette question. – emersonthis

Répondre

0

Vous devez demander permitions user_education_history et friends_education_history avant de lire toute information d'éducation. Regardez example de Facebook.

+1

Non, ces permissions ne me permettront que de lire l'historique de l'utilisateur connecté et de ses amis education_history. Comme je l'ai mentionné dans ma question, les membres du groupe ne sont pas amis avec l'utilisateur connecté. Ainsi, ces autorisations ne résolvent pas le problème. C'est comme ceci: l'utilisateur sélectionne un groupe public particulier et l'application affiche l'historique d'éducation de tous les membres du groupe. Comment puis-je faire cela? – Ninja

3

Vous ne pouvez pas le faire à cause des paramètres de confidentialité des autres utilisateurs et les restrictions de facebook.

+0

Le point que j'essaie de faire est que les paramètres de confidentialité étaient tels que n'importe quel utilisateur sur facebook pouvait lire les informations éducation/travail de cette personne (après la connexion à facebook, je pouvais lire et je ne suis pas ami). Moi, en tant qu'utilisateur connecté à Facebook, je peux lire cette information. Mais moi, en tant qu'application, je n'arrive pas à lire cette information. C'est ce que le problème est tout ... Et avant de me demander de demander des autorisations à cet utilisateur, lisez mes commentaires à la réponse précédente. – Ninja

+1

Tous les appels API et la disponibilité des données sont soumis à des autorisations d'application spécifiques, données par un utilisateur. Si un utilisateur (un membre de votre groupe) n'autorise pas votre application à obtenir des informations sur lui-même, votre application obtiendra des résultats vides. Vous voyez cette information sur facebook, car ils ont cette permission de l'utilisateur. Encore une fois, il n'y a aucun moyen de réclamer des données que vous n'êtes pas autorisé à obtenir. –

0

Si cet utilisateur permet pas de lire ses informations à d'autres, vous ne pouvez pas lire ses informations de toute façon.

S'il partage propre information à tout le monde, les autorisations Lex a écrit whould être anougth pour obtenir cette information, dont matter connecté il ou non, ami ou non. En cas d'application, lorsque l'utilisateur l'ajoute sur sa page, il donne également l'autorisation à l'application de lire ses informations générales, ainsi vous pouvez obtenir l'application access_token avec des permissions nessaires et lire toute information dont vous avez besoin sur les membres de votre application.