Paginate query results

Язык запросов Merchant Center предоставляет следующие поля для нумерации страниц:

  • pageSize : максимальное количество строк, которые можно получить за один запрос. По умолчанию максимальный размер страницы составляет 1000 строк.
  • pageToken : токен возвращаемой страницы. Если не указано, возвращается первая страница.
  • nextPageToken : значение pageToken для получения следующей страницы из вызова accounts.reports.search .

Если указан pageToken , все остальные параметры в вызове должны соответствовать предыдущему вызову, чтобы избежать непредвиденного поведения.

Например, если вы выполните следующий запрос для учетной записи, которая имеет 100 000 значений 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 из предыдущего ответа.