Wie rufe ich mehr als 100 Status mit Facebook API an?

8

Ich baue eine Facebook-Anwendung und möchte, dass alle Status des Benutzers aus dem letzten Jahr gelesen werden können. Wenn ich den API-Aufruf mache, kann ich nur die ersten 100 Status abrufen, egal, wofür ich das Limit festlege.

Hier ist die URL, die ich verwende, um den Anruf zu tätigen: Ссылка ...

Wenn ich das Limit niedriger setze, zeigt es weniger Status (was beweist, dass das Limit-Argument funktioniert). Wenn ich das Limit höher setze, gibt es mir nur die ersten 100. Wenn ich "seit" benutze, gibt es mir immer noch nur 100.

Wenn ich die 'nächste' URL benutze, sehe ich keine Daten nach den ersten 100 Status.

Ich weiß, dass es möglich ist, aufgrund von Anwendungen wie Mein Jahr im Status

    
Sean Gransee 12.01.2012, 23:42
quelle

5 Antworten

4

Ich habe mithilfe des Graph-API-Explorers überprüft, dass die Seitennummerierung nicht wie beschrieben funktioniert. Melde es als Bug mit Facebook an: Ссылка und poste hier den Bug #.

BEARBEITEN

Nach der Fehlergrenze ist das 100-Limit By Design und Sie werden nicht mehr bekommen, was bedeutet, dass Facebook eine bewusste Geschäftsentscheidung getroffen hat Beschränken Sie die Menge an Daten, die gespeichert, verarbeitet und bereitgestellt werden , über die Graph-API. Es kostet Geld, und da die API frei ist, kann ich nicht mit ihnen argumentieren. Aber wenn ich dafür bezahlen würde, dann kicke ich ja den ganzen Weg die Straße runter und schreie.

    
DMCS 13.01.2012, 00:05
quelle
6

Es funktioniert. Sie müssen die Abfrageparameter limit und offset verwenden. Der Parameter limit legt die Stapelgröße fest. Der Parameter offset legt die Position in der Allzeit-Statusauflistung des Benutzers fest. Ohne den Parameter offset anzugeben, setzt Facebook ihn auf Null, weshalb Sie immer denselben Datensatz sehen.

Setzen Sie für die erste Charge von 100 Status limit auf 100 und offset auf 0 .
Setzen Sie für die 2. Charge von 100 Status limit auf 100 und offset auf 100 .
Setzen Sie für die 3. Charge von 100 Status limit auf 100 und offset auf 200 .
Setzen Sie für die vierte Charge von 100 Status limit auf 100 und offset auf 300 .
Und so weiter ...

Wiederholen Sie den Vorgang, bis Sie eine leere Datenmenge erhalten:

%Vor%     
Bill Paetzke 25.05.2013 06:27
quelle
3

Paging und Seit , Bis Parameter funktionieren auch nicht für mich.

Aber ich habe herausgefunden, dass ich mit Offset Parameter mehr als 100 Status bekommen kann. Hier ist mein Code mit Facebook C # SDK :

%Vor%     
HolaJan 01.07.2012 15:59
quelle
1

Dies funktionierte vor einer Woche, unsere beste Wette, um dies zu beheben, ist auf Ссылка so das Facebook zu posten Entwickler wissen, wie groß das Problem ist.

    
Ryan 13.01.2012 03:32
quelle
0

Facebook hat den vorherigen Fehler geschlossen, ohne wirklich zu testen, dass es nicht funktioniert hat. Ich habe hier einen neuen Fehler gemacht: Ссылка

    
Ryan 26.01.2012 23:56
quelle

Tags und Links