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.