Paginate query results

Merchant Center 查询语言提供了以下用于分页的字段:

  • pageSize:单次请求中可检索的行数上限。默认为页面大小上限(即 1000 行)。
  • pageToken:要返回的页面的令牌。如果未指定,则返回第一页。
  • nextPageToken:用于从 accounts.reports.search 调用获取下一页的 pageToken 值。

提供 pageToken 时,调用中的所有其他参数都必须与上次调用一致,以避免意外行为。

例如,如果您对包含 10 万个 offer_id 值的账号执行以下查询,并且 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'

以下是示例响应(前五条结果和 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