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 même requête. La valeur par défaut correspond à 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 qui comporte 100 000 valeurs offer_id et que le paramètre pageSize est défini sur 200, le résultat ne contient que 200 objets ReportRow dans la première réponse, ainsi qu'un champ nextPageToken :

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

Voici un exemple de réponse (les cinq premiers résultats et le champ 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 avec le nextPageToken de la réponse précédente.