總覽

分頁

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": {....}

請注意,擷取所有網頁後,所有網頁的物件總數必須等於第一次擷取網頁時顯示的 totalCountserviceProviders