Impaginazione
LSA supporta la paginazione per gestire le richieste di un grande snapshot in più recuperi (pull) di pagine. Google estrae un determinato endpoint partner con un parametro
maxresults
per limitare la quantità massima di serviceProvider restituita nella
risposta JSON. I partner inseriranno un token di paginazione nel campo
metadata.pagination.nextTokenParam
della risposta JSON. Il valore di
questo token è specifico del partner e viene utilizzato per creare l'URL della pagina successiva. Il campo
nextTokenParam
non deve essere compilato per l'ultima pagina. Tieni presente che
l'oggetto metadata.pagination
deve essere sempre compilato (in quanto è obbligatorio
nello schema), anche se l'ultima pagina non avrà un campo nextTokenParam
.
Inoltre, totalCount
indica il numero totale di fornitori di servizi (o
reviewItems
nel caso del feed delle recensioni) in tutte le pagine.
Ad esempio, se un partner ha 200 fornitori nello snapshot completo. Quando Google
avvia il trasferimento dei feed con l'URL
http://www.partners.com/feeds/{version}/profile&maxresults=100
la prima pagina
deve restituire i primi 100 fornitori partner con quanto segue metaData
:
"metaData": {
"feedCategory":"SNAPSHOT",
"feedTimestampMicros":1532930955190163,
"apiVersion": "v1",
"pagination": {
"nextTokenParam": "yre7yiesar"
},
"totalCount":200
}
"serviceProviders": {....} // Contains 100 service provider objects.
Google analizzerà nextTokenParam: "yre7yiesar"
e avvierà il secondo
trasferimento con l'URL:
http:partners.com/feeds/{version}/profile&nextpagetoken=yre7yiesar&maxresults=100
La seconda pagina dovrebbe restituire gli ultimi 100 fornitori. Poiché la seconda pagina è anche l'ultima, nextTokenParam
non verrà compilato (metaData
esempio di seguito), a indicare la fine della paginazione.
"metaData": {
"feedCategory":"SNAPSHOT",
"feedTimestampMicros":1532930955190164,
"apiVersion": "v1",
"pagination": {},
"totalCount":200
}
"serviceProviders": {....}
Tieni presente che dopo il recupero di tutte le pagine, il numero totale di oggetti serviceProviders
(in tutte le pagine) deve essere uguale a totalCount
indicato nel recupero della prima pagina.