分页
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
。