Paginate query results

A consulta do Merchant Center Language oferece o seguinte campos para paginação:

  • pageSize: o número máximo de linhas a serem recuperadas em uma única solicitação. O padrão é o tamanho máximo da página de 1.000 linhas.
  • pageToken: o token da página a ser retornada. Se não for especificado, o primeiro será retornada.
  • nextPageToken: o valor pageToken para acessar a próxima página de um accounts.reports.search a chamada.

Quando um pageToken é fornecido, todos os outros parâmetros na chamada precisam corresponder ao da chamada anterior para evitar comportamentos inesperados.

Por exemplo, se você fizer a seguinte consulta em uma conta que tem 100.000 valores offerId e pageSize for definido como 200, o resultado conterá apenas 200 Objetos ReportRow na primeira resposta, com um nextPageToken:

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

Este é um exemplo de resposta (os cinco primeiros resultados e a 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 as próximas 200 linhas, envie a solicitação novamente com o mesmo tamanho de página. mas atualize o pageToken da solicitação para o nextPageToken no na resposta anterior.