Paginate query results

El Lenguaje de consulta de Merchant Center proporciona los siguientes campos para la paginación:

  • pageSize: Es la cantidad máxima de filas que se recuperarán en una sola solicitud. El valor predeterminado es el tamaño máximo de página de 1,000 filas.
  • pageToken: Es el token de la página que se mostrará. Si no se especifica, se muestra la primera página.
  • nextPageToken: Es el valor de pageToken para obtener la siguiente página de una llamada a accounts.reports.search.

Cuando se proporciona un pageToken, todos los demás parámetros de la llamada deben coincidir con la llamada anterior para evitar comportamientos inesperados.

Por ejemplo, si realizas la siguiente consulta en una cuenta que tiene 100,000 valores offer_id y el pageSize está configurado en 200, el resultado solo contiene 200 objetos ReportRow en la primera respuesta, junto con un nextPageToken:

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

Esta es una respuesta de ejemplo (los primeros cinco resultados y el 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"
}

Para recuperar las siguientes 200 filas, vuelve a enviar la solicitud con el mismo tamaño de página, pero actualiza el pageToken de la solicitud al nextPageToken de la respuesta anterior.