為查詢結果分頁

為處理含有大量資料列的結果集,Merchant Center 查詢語言支援分頁功能。您可以使用兩個參數,在 reports.search 要求主體中控制分頁:page_sizepage_token,此外,回應主體中也有一個輸出欄位:next_page_token

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

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_ids,且 page_size 設為 200。因此,結果集會在第一個回應中包含 200 個 ReportRow 物件,以及 next_page_token

如要擷取下 200 列,請再次傳送要求,但將要求中的 page_token 更新為先前回應中的 next_page_token,並維持相同的頁面大小。

以下是回應內容範例 (前五項結果加上 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"
}