Paginate query results

Le langage de requête Merchant Center fournit les champs suivants pour la pagination:

  • pageSize: nombre maximal de lignes à récupérer dans une seule requête. La valeur par défaut est la taille de page maximale de 1 000 lignes.
  • pageToken: jeton de la page à renvoyer. Si aucune valeur n'est spécifiée, la première page est renvoyée.
  • nextPageToken: valeur pageToken permettant d'obtenir la page suivante à partir d'un appel accounts.reports.search.

Lorsqu'un pageToken est fourni, tous les autres paramètres de l'appel doivent correspondre à l'appel précédent pour éviter tout comportement inattendu.

Par exemple, si vous effectuez la requête suivante sur un compte comportant 100 000 valeurs offerId et que pageSize est défini sur 200, le résultat ne contient que 200 objets ReportRow dans la première réponse, avec un nextPageToken:

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

Voici un exemple de réponse (les cinq premiers résultats et le 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"
}

Pour récupérer les 200 lignes suivantes, renvoyez la requête avec la même taille de page, mais mettez à jour le pageToken de la requête sur nextPageToken de la réponse précédente.