為查詢結果分頁

為了處理含有大量資料列的結果集, 中心查詢語言支援分頁。有兩個參數 控制 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"
}