Panoramica

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.