Paginate query results

Il linguaggio di query di Merchant Center fornisce i seguenti campi per la paginazione:

  • pageSize: il numero massimo di righe da recuperare in una singola richiesta. Il valore predefinito è 1000 righe.
  • pageToken: il token della pagina da restituire. Se non specificato, viene restituita la prima pagina.
  • nextPageToken: il valore pageToken per ottenere la pagina successiva da una chiamata accounts.reports.search.

Quando viene fornito un pageToken, tutti gli altri parametri nella chiamata devono corrispondere a quelli della chiamata precedente per evitare comportamenti imprevisti.

Ad esempio, se esegui la seguente query su un account con 100.000 valori offer_id e pageSize è impostato su 200, il risultato contiene solo 200 oggetti ReportRow nella prima risposta, insieme a un nextPageToken:

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

Ecco una risposta di esempio (i primi cinque risultati e 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"
}

Per recuperare le 200 righe successive, invia di nuovo la richiesta con lo stesso numero di pagine, ma aggiorna il pageToken della richiesta con il nextPageToken della risposta precedente.