分頁
LSA 支援分頁功能,可透過多個頁面擷取 (提取) 方式,處理大型快照的要求。Google 會使用參數 maxresults 擷取特定合作夥伴端點,限制 JSON 回應中傳回的 serviceProviders 數量上限。合作夥伴會在 JSON 回應的 metadata.pagination.nextTokenParam 欄位中填入分頁符記。這個權杖的值是合作夥伴專屬,用於建構下一頁網址。最後一頁不得填入 nextTokenParam 欄位。請注意,即使最後一頁沒有 nextTokenParam 欄位,metadata.pagination 物件仍應一律填入資料 (因為結構定義中需要此物件)。此外,totalCount 表示所有頁面上的服務供應商總數 (或評論動態饋給中的 reviewItems)。
舉例來說,如果合作夥伴在完整快照中有 200 個供應商,當 Google 使用網址 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",並使用下列網址啟動第二次轉移:
http:partners.com/feeds/{version}/profile&nextpagetoken=yre7yiesar&maxresults=100
第二頁應傳回最後 100 位供應商。由於第二頁也是最後一頁,因此不會填入 nextTokenParam (請見下方的 metaData 範例),表示分頁已結束。
"metaData": {
"feedCategory":"SNAPSHOT",
"feedTimestampMicros":1532930955190164,
"apiVersion": "v1",
"pagination": {},
"totalCount":200
}
"serviceProviders": {....}
請注意,擷取所有網頁後,所有網頁的物件總數必須等於第一次擷取網頁時顯示的 totalCount。serviceProviders