概览

分页

LSA 支持分页,以便在多次提取(拉取)操作中处理大型快照请求。Google 将提取具有参数 maxresults 的给定合作伙伴端点,以限制 JSON 响应中返回的最大 serviceProviders 数量。合作伙伴会在 JSON 响应中将分页令牌填充到 metadata.pagination.nextTokenParam 字段中。此令牌的值是合作伙伴特定的,用于构建下一网页网址。最后一页的 nextTokenParam 字段不得填充。请注意,即使最后一页没有 nextTokenParam 字段,metadata.pagination 对象也应始终填充(因为这是架构中的必需字段)。此外,totalCount 表示所有页面上的服务提供商总数(如果是评价 Feed,则为 reviewItems)。

例如,如果合作伙伴在完整快照中有 200 个提供商。当 Google 使用网址 http://www.partners.com/feeds/{version}/profile&maxresults=100 启动 Feed 转移时,第一页应返回前 100 个合作伙伴提供商,并包含以下 metaData

"metaData": {
     "feedCategory":"SNAPSHOT",
     "feedTimestampMicros":1532930955190163,
     "apiVersion": "v1",
     "pagination": {
        "nextTokenParam": "yre7yiesar"
     },
     "totalCount":200
}
"serviceProviders": {....}   // Contains 100 service provider objects.

Google 将解析 nextTokenParam: "yre7yiesar",并使用以下网址启动第二次转移: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