Пагинация
LSA поддерживает пагинацию для обработки запросов на большой снимок в многостраничных выборках (pull). Google будет запрашивать заданную конечную точку партнёра с параметром maxresults
, чтобы ограничить максимальное количество поставщиков услуг, возвращаемых в JSON-ответе. Партнеры будут заполнять токен пагинации в поле metadata.pagination.nextTokenParam
в JSON-ответе. Значение этого токена зависит от партнёра и используется для построения URL-адреса следующей страницы. Поле nextTokenParam
не должно быть заполнено для последней страницы. Обратите внимание, что объект metadata.pagination
всегда должен быть заполнен (как того требует схема), даже если на последней странице не будет поля nextTokenParam
. Кроме того, totalCount
указывает общее количество поставщиков услуг (или reviewItems
в случае ленты отзывов) на всех страницах.
Например, если у партнёра в полном снимке данных 200 поставщиков. Когда Google инициирует передачу фидов по URL-адресу http://www.partners.com/feeds/{version}/profile&maxresults=100
, первая страница должна вернуть первые 100 поставщиков партнёров со следующими metaData
:
"metaData": {
"feedCategory":"SNAPSHOT",
"feedTimestampMicros":1532930955190163,
"apiVersion": "v1",
"pagination": {
"nextTokenParam": "yre7yiesar"
},
"totalCount":200
}
"serviceProviders": {....} // Contains 100 service provider objects.
Google проанализирует nextTokenParam: "yre7yiesar"
и инициирует вторую передачу с URL-адресом: http:partners.com/feeds/{version}/profile&nextpagetoken=yre7yiesar&maxresults=100
Вторая страница должна вернуть последние 100 поставщиков. Учитывая, что вторая страница также является последней, nextTokenParam
не будет заполнен (пример metaData
ниже), что означает конец пагинации.
"metaData": {
"feedCategory":"SNAPSHOT",
"feedTimestampMicros":1532930955190164,
"apiVersion": "v1",
"pagination": {},
"totalCount":200
}
"serviceProviders": {....}
Обратите внимание, что после выборки всех страниц общее количество объектов serviceProviders
(по всем страницам) должно быть равно totalCount
, указанному при первой выборке страницы.