Paginate query results

Merchant Center クエリ言語には、ページネーション用の次のフィールドが用意されています。

  • pageSize: 1 回のリクエストで取得する行の最大数。デフォルトは最大ページサイズの 1,000 行です。
  • pageToken: 返すページのトークン。指定しない場合は、最初のページが返されます。
  • nextPageToken: accounts.reports.search 呼び出しから次のページを取得する pageToken 値。

pageToken を指定する場合は、予期しない動作を回避するために、呼び出し内の他のすべてのパラメータが前回の呼び出しと一致している必要があります。

たとえば、offer_id 値が 100,000 個あるアカウントに対して次のクエリを実行し、pageSize が 200 に設定されている場合、結果の最初のレスポンスには 200 個の ReportRow オブジェクトと nextPageToken のみが含まれます。

SELECT offer_id, impressions, clicks, click_through_rate
FROM product_performance_view
WHERE date BETWEEN '2023-12-01' AND '2023-12-31'

レスポンスの例(最初の 5 件の結果と nextPageToken)を次に示します。

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

次の 200 行を取得するには、同じページサイズでリクエストをもう一度送信しますが、リクエストの pageToken を前のレスポンスの nextPageToken に更新します。