Paginate query results

Il linguaggio di query di Merchant Center fornisce i seguenti campi per l'impaginazione:

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

Se viene fornito un pageToken, tutti gli altri parametri nella chiamata devono corrispondere alla chiamata precedente per evitare comportamenti imprevisti.

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

SELECT offerId, impressions, clicks, clickThroughRate
FROM ProductPerformanceView
WHERE date BETWEEN '2021-12-01' AND '2021-12-31'

Ecco una risposta di esempio (i primi cinque risultati e il 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 le stesse dimensioni di pagina, ma aggiorna il valore pageToken della richiesta a nextPageToken della risposta precedente.