Paginate query results

Język zapytań Merchant Center udostępnia te pola na potrzeby paginacji:

  • pageSize: maksymalna liczba wierszy do pobrania w jednym żądaniu. Domyślnie jest to maksymalny rozmiar strony, czyli 1000 wierszy.
  • pageToken: token strony do zwrócenia. Jeśli nie podasz tu żadnej wartości, zostanie zwrócona pierwsza strona.
  • nextPageToken: wartość pageToken, która umożliwia pobranie następnej strony z wywołania accounts.reports.search.

Jeśli podano parametr pageToken, wszystkie pozostałe parametry w wywołaniu muszą być zgodne z poprzednim wywołaniem, aby uniknąć nieoczekiwanego działania.

Jeśli na przykład wykonasz to zapytanie na koncie, które ma 100 000 wartości offer_id, a wartość pageSize jest ustawiona na 200, wynik będzie zawierać tylko 200 obiektów ReportRow w pierwszej odpowiedzi wraz z parametrem nextPageToken:

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

Oto przykładowa odpowiedź (pierwsze 5 wyników i 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"
}

Aby pobrać kolejne 200 wierszy, wyślij żądanie ponownie z tym samym rozmiarem strony, ale zaktualizuj parametr pageToken w żądaniu na parametr nextPageToken z poprzedniej odpowiedzi.