개요

페이지로 나누기

LSA는 여러 페이지 가져오기 (풀)에서 대규모 스냅샷 요청을 수용하기 위해 페이지로 나누기를 지원합니다. Google은 maxresults 매개변수를 사용하여 지정된 파트너 엔드포인트를 가져와 JSON 응답에서 반환되는 최대 서비스 제공업체 수를 제한합니다. 파트너는 JSON 응답의 metadata.pagination.nextTokenParam 필드에 페이지로 나누기 토큰을 입력합니다. 이 토큰의 값은 파트너마다 다르며 다음 페이지 URL을 구성하는 데 사용됩니다. 마지막 페이지의 경우 nextTokenParam 필드를 채우면 안 됩니다. 마지막 페이지에는 nextTokenParam 필드가 없지만 metadata.pagination 객체는 항상 채워져야 합니다 (스키마에 필요함). 또한 totalCount는 모든 페이지의 서비스 제공업체 (또는 리뷰 피드의 경우 reviewItems)의 총수를 나타냅니다.

예를 들어 파트너의 전체 스냅샷에 제공업체가 200개 있는 경우 Google이 URL http://www.partners.com/feeds/{version}/profile&maxresults=100로 피드 전송을 시작하면 첫 번째 페이지는 다음 metaData를 사용하여 첫 번째 100개의 파트너 제공업체를 반환해야 합니다.

"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과 같아야 합니다.