為查詢結果分頁

為了處理含有大量資料列的結果集, 中心查詢語言支援分頁。有兩個參數 控制 reports.search 要求中的分頁 內文page_sizepage_token,以及 回應 內文next_page_token

page_size 參數會指定在清單中擷取的資料列數量上限 單一請求。如果未指定,系統會自動設為頁面大小上限 。

page_token 參數會指定要傳回網頁的符記。如果 未指定,則會傳回第一頁。如果要擷取後續網頁, 從前一個 reports.search 呼叫接收為 next_page_token 的值 應以 page_token 的形式提供。提供 page_token 時,所有其他項目 參數中的參數應該會與先前傳回 page_token,以免發生非預期的行為。

範例:

SELECT
  segments
.offer_id,
  metrics
.impressions,
  metrics
.clicks,
  metrics
.ctr
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2021-12-01' AND '2021-12-31'

針對此查詢,假設帳戶包含 100,000 個 offer_idspage_size 設為 200。結果集就會包含 200 ReportRow 以及 next_page_token

如要擷取下 200 列資料,請使用相同頁面大小再次傳送要求。 但將要求的 page_token 更新為前一個回應的 next_page_token

以下是回應主體的範例 (前 5 個結果加上 next_page_token):

{
 
"results": [
   
{
     
"segments": {
       
"offerId": "12345"
     
},
     
"metrics": {
       
"clicks": "0",
       
"impressions": "59",
       
"ctr": 0
     
}
   
},
   
{
     
"segments": {
       
"offerId": "12346"
     
},
     
"metrics": {
       
"clicks": "9625",
       
"impressions": "276695",
       
"ctr": 0.034785594246372356
     
}
   
},
   
{
     
"segments": {
       
"offerId": "12347"
     
},
     
"metrics": {
       
"clicks": "148",
       
"impressions": "22045",
       
"ctr": 0.0067135404853708325
     
}
   
},
   
{
     
"segments": {
       
"offerId": "12348"
     
},
     
"metrics": {
       
"clicks": "11",
       
"impressions": "1100",
       
"ctr": 0.01
     
}
   
},
   
{
     
"segments": {
       
"offerId": "12349"
     
},
     
"metrics": {
       
"clicks": "569",
       
"impressions": "62977",
       
"ctr": 0.0090350445400701838
     
}
   
},
   
...
 
],
 
"nextPageToken": "CMgB"
}