Paginate query results

A Linguagem de consulta do Merchant Center fornece os seguintes 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, a primeira página será retornada.
  • nextPageToken: o valor pageToken para receber a próxima página de uma chamada accounts.reports.search.

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

Por exemplo, se você fizer a consulta a seguir em uma conta com 100.000 valores de offerId e a pageSize estiver definida como 200, o resultado vai conter apenas 200 objetos ReportRow na primeira resposta, além de um nextPageToken:

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

Veja abaixo um exemplo de resposta (os primeiros cinco resultados e o 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 nextPageToken da resposta anterior.