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