Facebook Graph API erhalten alle Benutzer und ihren Status

9

Ich benutze die Facebook Graph API und ich frage mich, ob es überhaupt eine Liste aller Benutzer und ihren aktuellen Status in einem Anruf zu bekommen gab?

Ich möchte grundsätzlich die gleichen Ergebnisse wie Ссылка , aber mit dem aktuellen Status pro Objekt.

Danke für jede Hilfe!

BEARBEITEN:

Hier ist eine Erläuterung. Wenn https://graph.facebook.com/me/friends?access_token=... mir das bringt: (AKA eine Liste aller meiner Freunde)

%Vor%

Welche URL oder FQL bekomme ich das: (AKA eine Liste aller meiner Freunde und deren Status)

%Vor%

Ich möchte nur einen Anruf tätigen, denn im Gegensatz zu mir haben die meisten Leute mehr als 100 Freunde, und ich möchte nicht mehr als 100 Anrufe tätigen müssen, nur um Status zu erhalten.

    
joe_coolish 29.03.2011, 22:46
quelle

4 Antworten

8

Während die neue Batch-API das tun sollte, was Sie verlangen, konnte ich es nicht schaffen es funktioniert richtig. Es scheint, dass es immer noch fehlerhaft ist.

Um dies mit fql.multiquery zu erreichen, hier ein kurzes Beispiel:

%Vor%

Hier erhalten wir die Benutzer-ID und den Namen in der ersten Abfrage und erhalten die Statusmeldungen von der zweiten.
Jetzt würde dies weniger Ergebnisse in der ersten Abfrage oder der zweiten zurückgeben! weil:

  • Ein Freund hat möglicherweise keine Statusmeldung für die letzten 30 Tage gepostet, sodass er gewonnen hat erscheint nicht in der zweiten Abfrage (die zweite hat weniger Ergebnismenge).
  • Ein Freund hat in den letzten 30 Tagen möglicherweise mehr als eine Statusnachricht gepostet ( sollte sie alle zurückgeben - bis zu 50? !!) Ich bin mir nicht sicher, aber wenn dies der Fall ist Dann sollte / sollte die zweite mehr Ergebnisse zurückgeben als die erste. Ich bekomme also nur eine one Nachricht (beachte break ).
ifaour 04.04.2011, 12:48
quelle
3

Versuchen Sie Folgendes:

%Vor%

Stellen Sie sicher, dass Sie auf ein bestimmtes Datum beschränken, da dies die letzten 50 Updates / oder letzten 30 Tage der Aktivität standardmäßig zurückgibt.

    
Elad Lachmi 04.04.2011 05:00
quelle
0

hi, Sie müssen nur die erweiterte Berechtigung von user_status oder friend_status für dieses und jedes Call-on-Me-Objekt übernehmen wird den aktuellen Status des Benutzers erfassen ...

%Vor%     
Awais Qarni 04.04.2011 05:14
quelle
0

Dank @mgilson für seine Antwort kann dies zu einer FQL-Anweisung wie folgt kombiniert werden:

  

SELECT status_id, uid, message FROM Status WHERE uid IN (SELECT uid FROM Benutzer WHERE uid IN (SELECT uid2 FROM Freund WHERE uid1 = me ()))

Die Magie, die ich gefunden habe, verlangt die friends_status -Erlaubnis, die von öffentlichen Posts zu Freunden und anderen öffnet, die helfen, das Gefühl der Mauer zu replizieren.

    
noinput 13.12.2013 23:43
quelle