Обзор

Пагинация

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 , указанному при первой выборке страницы.