Seitenumbruch
LSA unterstützt die Paginierung, um Anfragen für einen großen Snapshot in mehreren Seitenabrufen (Pulls) zu verarbeiten. Google ruft einen bestimmten Partnerendpunkt mit dem Parameter maxresults
ab, um die maximale Anzahl der in der JSON-Antwort zurückgegebenen Serviceanbieter zu begrenzen. Partner füllen ein Paginierungstoken in das Feld metadata.pagination.nextTokenParam
in der JSON-Antwort ein. Der Wert dieses Tokens ist partnerspezifisch und wird verwendet, um die URL der nächsten Seite zu erstellen. Das Feld nextTokenParam
darf für die letzte Seite nicht ausgefüllt werden. Das metadata.pagination
-Objekt sollte immer ausgefüllt sein, da es im Schema erforderlich ist. Das gilt auch für die letzte Seite, auf der kein nextTokenParam
-Feld vorhanden ist.
totalCount
gibt die Gesamtzahl der Dienstleister (oder reviewItems
im Fall des Rezensionsfeeds) auf allen Seiten an.
Wenn ein Partner beispielsweise 200 Anbieter im vollständigen Snapshot hat, Wenn Google die Übertragung der Feeds mit der URL http://www.partners.com/feeds/{version}/profile&maxresults=100
initiiert, sollte auf der ersten Seite die ersten 100 Partneranbieter mit dem folgenden metaData
zurückgegeben werden:
"metaData": {
"feedCategory":"SNAPSHOT",
"feedTimestampMicros":1532930955190163,
"apiVersion": "v1",
"pagination": {
"nextTokenParam": "yre7yiesar"
},
"totalCount":200
}
"serviceProviders": {....} // Contains 100 service provider objects.
Google parst nextTokenParam: "yre7yiesar"
und initiiert die zweite Übertragung mit der URL:
http:partners.com/feeds/{version}/profile&nextpagetoken=yre7yiesar&maxresults=100
Auf der zweiten Seite sollten die letzten 100 Anbieter zurückgegeben werden. Da die zweite Seite auch die letzte Seite ist, wird nextTokenParam
nicht ausgefüllt (metaData
, siehe Beispiel unten). Das bedeutet, dass die Paginierung beendet ist.
"metaData": {
"feedCategory":"SNAPSHOT",
"feedTimestampMicros":1532930955190164,
"apiVersion": "v1",
"pagination": {},
"totalCount":200
}
"serviceProviders": {....}
Nach dem Abrufen aller Seiten muss die Gesamtzahl der serviceProviders
-Objekte (auf allen Seiten) der totalCount
entsprechen, die beim Abrufen der ersten Seite angegeben wurde.