Paginación
LSA admite la paginación para satisfacer las solicitudes de una instantánea grande en varias recuperaciones (extracciones) de páginas. Google extraerá un extremo de socio determinado con un parámetro maxresults
para limitar la cantidad máxima de serviceProviders que se muestran en la respuesta JSON. Los socios completarán un token de paginación en el campo metadata.pagination.nextTokenParam
de la respuesta JSON. El valor de este token es específico del socio y se usa para construir la URL de la página siguiente. El campo nextTokenParam
no debe propagarse para la última página. Ten en cuenta que el objeto metadata.pagination
siempre debe estar propagado (ya que se requiere en el esquema), aunque la última página no tenga un campo nextTokenParam
.
Además, totalCount
indica la cantidad total de proveedores de servicios (o reviewItems
en el caso del feed de opiniones) en todas las páginas.
Por ejemplo, si un socio tiene 200 proveedores en la instantánea completa. Cuando Google inicia la transferencia de feeds con la URL http://www.partners.com/feeds/{version}/profile&maxresults=100
, la primera página debe devolver los primeros 100 proveedores socios con el siguiente metaData
:
"metaData": {
"feedCategory":"SNAPSHOT",
"feedTimestampMicros":1532930955190163,
"apiVersion": "v1",
"pagination": {
"nextTokenParam": "yre7yiesar"
},
"totalCount":200
}
"serviceProviders": {....} // Contains 100 service provider objects.
Google analizará nextTokenParam: "yre7yiesar"
y, luego, iniciará la segunda transferencia con la URL:
http:partners.com/feeds/{version}/profile&nextpagetoken=yre7yiesar&maxresults=100
La segunda página debería mostrar los últimos 100 proveedores. Dado que la segunda página también es la última, nextTokenParam
no se completará (metaData
ejemplo a continuación), lo que indica el final de la paginación.
"metaData": {
"feedCategory":"SNAPSHOT",
"feedTimestampMicros":1532930955190164,
"apiVersion": "v1",
"pagination": {},
"totalCount":200
}
"serviceProviders": {....}
Ten en cuenta que, después de recuperar todas las páginas, la cantidad total de objetos serviceProviders
(en todas las páginas) debe ser igual a la cantidad de totalCount
indicada en la primera recuperación de la página.