Übersicht

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.