Suche nach Facebook-Ereignissen und Paginierung (Graph-API)

8

Ich fordere diese Seite auf, die Ereignisse mit dem Schlüsselwort

zu erhalten %Vor%

Das funktioniert gut.

Das Problem ist die zurückgegebene Seitennummerierung:

%Vor%

Es scheint mehr Ereignisse mit "Konferenz" zu geben, aber die Anforderung dieser URLs mit zwei Seiten enthält keine Daten.

Es ist seltsam, weil es für jedes angeforderte Keyword dasselbe ist, und die von der Facebook-API zurückgegebenen Paginierungs-URLs scheinen immer leere Daten zurückzuliefern.

Weiß jemand, was das Problem ist?

Danke

    
kire 08.11.2010, 15:23
quelle

3 Antworten

6

Ich stieß auf ähnliche Verwirrung mit einer Abfrage gegen Orte. Die "nächste" URL verhielt sich genau so, wie du sie beschrieben hast.

Ich könnte Standortinformationen mit einer URL wie folgt abfragen:

%Vor%

Und bekam JSON mit den ersten 10 Stellen plus dem folgenden Fragment, das die Existenz von Paging-Parametern nahelegt:

%Vor%

Das Treffen dieser URL funktioniert nicht. Aber ich habe eine Kombination aus Limit- und Offset-Parametern herausgefunden, die mir ein effektives Paging ermöglichte.

%Vor%

Mir ist klar, dass ich "limit" und "offset" anstelle der Parameter "limit" und "upon" habe, aber du könntest hoffentlich die gleiche Technik anwenden, also das Limit erhöhen und das Datum inkrementieren / Zeit bis zu Ihrem letzten Ergebnis?

    
stephen 20.01.2011 11:04
quelle
1

Ich denke, das ist eine gängige Praxis in Facebook Graph API. Ich denke, wenn Ihre Anfrage zu einem nicht leeren JSON führte, werden sie Ihnen immer den nächsten Seitenwechsel geben, auch wenn dieser leer sein könnte.

Ich bin mir jedoch nicht 100% ig sicher, weil Facebook Graph API nicht sehr gut dokumentiert zu sein scheint ... (zum Beispiel sagten sie, wir können diese Paginierung ändern, haben aber nicht klar erklärt, wie es geht).

    
Enrico Susatyo 26.11.2010 11:33
quelle
0

Scheint, Facebook hat es in letzter Zeit geändert. Hier ist das Problem:

Für eine Datetime, die im nächsten und vorherigen als zurückgegeben wird "2011-01-18T08 \ u00253A42 \ u00253A35 \ u00252B0000", Ersetzen Sie alle Vorkommen von "\ u0025" durch "%" und es sollte gut funktionieren.

Wenn Sie das Datetime-Format von Facebook bemerken, ist es das 2011-01-18T08: 42: 35 + 0000 (Datum akzeptiert von strtotime C-Funktion)

    
binit 24.01.2011 06:55
quelle