Wie kann ich den vollständigen Newsfeed eines Nutzers über die Facebook API abrufen?

8

Ich möchte den vollständigen Newsfeed einschließlich historischer Daten eines bestimmten Benutzers abrufen. Im Prinzip ist dies direkt mit einem authentifizierten Aufruf der Graph-API oder der FQL-API möglich.

Mit der Graph API greife ich auf den Endpunkt me/home zu. Dies ergibt 25 Einträge. Ich kann über die Seiten iterieren und ungefähr 8 Seiten zurück in die Geschichte holen, die mir ungefähr 200 Einträge geben. Ich schreibe um 200 Einträge, weil ich bei jedem Durchlauf eine andere Anzahl von Gesamteinträgen bekomme. Manchmal mehr, manchmal weniger.

Mit der FQL API rufe ich SELECT post_id, created_time, actor_id, message FROM stream WHERE filter_key = 'nf' AND is_hidden=0 AND created_time > 1262304000 LIMIT 500 auf, wobei die erzeugte Zeit den 1. Januar 2010 widerspiegelt. Das ergibt ungefähr 150 Einträge.

Beide Methoden scheinen es nicht möglich zu machen, sich rückwärts in die Geschichte zu arbeiten. In der FQL-Abfrage habe ich auch versucht, mit dem created_time -Feld und LIMIT herumzuspielen, um in kleinen Stücken rückwärts zu gehen, aber es hat nicht funktioniert.

Die Dokumentation der stream Tabelle Ссылка sagt irgendwie kryptisch:

  

Die Profilansicht gibt im Gegensatz zur Homepage-Ansicht ältere Daten aus unseren Datenbanken zurück.

Homepage-Ansicht - soweit ich es verstehe - ist ein anderes Wort für Newsfeed, also könnte das bedeuten, dass das, was ich will, gar nicht möglich ist?

Um die Dinge noch schlimmer zu machen (aber das ist nicht das Hauptthema dieser Frage) unterscheiden sich die zurückgegebenen Datensätze der beiden Methoden . Beide enthalten Einträge, die der andere nicht anzeigt, aber sie haben auch viele Einträge gemeinsam. Schlimmer noch, das gleiche gilt für den echten Newsfeed auf der Facebook-Website.

Hat jemand Erfahrung oder tiefere Einsichten dazu?

    
kongo09 24.09.2011, 22:32
quelle

1 Antwort

1

Vielleicht verstehe ich Ihre Frage nicht, aber können Sie nicht einfach die Grafik api mit / me / home? limit = 5000 aufrufen und dann? limit = 5000 & amp; offset = 5000 oder was auch immer der maximale Grenzwert ist, den Facebook zulässt ?

    
bkaid 25.09.2011 00:20
quelle