2010-12-11 2 views
9

abgerufen werden. Ich erstelle eine App, in der ich die Bildungs- und Arbeitshistorie aller Personen in einer Facebook-Gruppe (öffentliche Gruppe) lesen muss (sofern dies nicht durch Datenschutzeinstellungen verdeckt ist). Personen in der Gruppe müssen nicht unbedingt Freunde des Benutzers sein, der in meiner App angemeldet ist.Benutzerinfo kann nicht über facebook api oder FQL

Ich weiß, wie man die Facebook-IDs aller Leute bekommt, die Teil der Gruppe sind, aber ich bin nicht in der Lage, die Bildung/Arbeit Geschichte einiger Leute abrufen, obwohl es für alle auf Facebook sichtbar ist.

Für zB: als ich die Profilseite einer Person in der Gruppe besuchte (wer ist nicht mein Freund), konnte ich seine Bildungs-/Arbeitsinfo sehen. Wenn ich jedoch über die Rest API oder Graph API oder FQL abfrage, bekomme ich einen Nullwert !!

Ich habe versucht, die folgenden:

1) https://graph.facebook.com/UID
ich die oben durch ein Erzeugen eines Zugriffstoken zu versucht, immer noch nur einen Nullwert

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

Dies ist die JSON-Antwort, die ich erhalten: [ { "education_history": null ]

Ich würde sehr für jede Hilfe schätzen, wie ich diese Informationen lesen kann.

+0

Ich habe das gleiche Problem. Es macht keinen Sinn, dass der Benutzer die Erlaubnis ('friends_education_history') spezifisch erteilen kann, aber dann kann die App nicht auf diese Information zugreifen. Wir brauchen eine Klarstellung zu diesem Thema. – emersonthis

Antwort

0

Sie müssen user_education_history und freams_education_history permissions anfordern, bevor Sie irgendwelche Bildungsinformationen lesen. Schauen Sie sich example von Facebook an.

+1

Nein, diese Berechtigungen ermöglichen es mir nur, den angemeldeten Benutzer und seine Freunde education_history zu lesen. Wie ich in meiner Frage erwähnt habe, sind die Leute in der Gruppe keine Freunde mit dem eingeloggten Benutzer. Diese Berechtigungen lösen das Problem nicht. Es ist so: Der Benutzer wählt eine bestimmte öffentliche Gruppe aus, und die App zeigt die Bildungsgeschichte aller Mitglieder der Gruppe an. Wie mache ich das? – Ninja

3

Sie können dies nicht aufgrund von Datenschutzeinstellungen der anderen Benutzer und den Einschränkungen von Facebook tun.

+0

Der Punkt, den ich versuche zu machen ist, dass die Privatsphäre-Einstellungen so waren, dass jeder Benutzer in Facebook die Ausbildung/Arbeitsinfo dieser Person lesen konnte (nachdem ich mich bei Facebook eingeloggt hatte, konnte ich es lesen und ich war nicht der Freund dieser Person). Ich, als Benutzer bei Facebook angemeldet, kann diese Informationen lesen. Aber ich, als eine Anwendung, kann diese Information nicht lesen. Das ist das Problem ... Und bevor Sie mich bitten, Berechtigungen von diesem Benutzer anzufordern, lesen Sie meine Kommentare zur vorherigen Antwort. – Ninja

+1

Alle API-Aufrufe und Datenverfügbarkeiten unterliegen bestimmten Anwendungsberechtigungen, die von einem Benutzer erteilt werden. Wenn ein Benutzer (ein Mitglied Ihrer Gruppe) Ihre Anwendung nicht autorisiert, Informationen über sich selbst zu erhalten, erhält Ihre Anwendung leere Ergebnisse. Sie sehen diese Informationen auf Facebook, weil sie die Erlaubnis des Benutzers haben. Auch hier können Sie keine Daten anfordern, die Sie nicht erhalten dürfen. –

0

Wenn dieser Benutzer nicht erlaubt, seine Informationen zu anderen zu lesen, können Sie seine Informationen sowieso nicht lesen.

Wenn er seine eigenen Informationen an alle weitergibt, sollten die Berechtigungen, die Lex schrieb, sein, um diese Informationen zu erhalten, egal, ob er eingeloggt ist oder nicht, ob Freund oder nicht.

Im Falle der Anwendung, wenn der Benutzer es auf seiner Seite hinzufügen, gibt er auch die Berechtigungen für die Anwendung, um seine allgemeinen Informationen zu lesen, so können Sie Anwendung access_token mit notwendigen Berechtigungen und lesen Sie alle Informationen über Ihre Anwendung Mitglieder benötigen.