Abfrageergebnisse paginieren

Zur Verarbeitung von Ergebnismengen, die eine große Anzahl von Zeilen enthalten, unterstützt die Merchant Center Query Language die Paginierung. Es gibt zwei Parameter, mit denen Sie die Paginierung im reports.search-Anfragetext steuern können: page_size und page_token. Außerdem gibt es ein Ausgabefeld im Antworttext: next_page_token.

Der Parameter page_size gibt die maximale Anzahl von Zeilen an, die in einer einzelnen Anfrage abgerufen werden sollen. Wenn nicht angegeben, wird automatisch die maximale Seitengröße von 1.000 Zeilen festgelegt.

Der Parameter page_token gibt das Token der Seite an, die zurückgegeben werden soll. Wenn nicht angegeben, wird die erste Seite zurückgegeben. Zum Abrufen einer nachfolgenden Seite sollte der Wert, der im vorherigen reports.search-Aufruf als next_page_token empfangen wurde, als page_token angegeben werden. Wenn ein page_token angegeben wird, sollten alle anderen Parameter im Aufruf dem vorherigen Aufruf entsprechen, der page_token zurückgegeben hat, um unerwartetes Verhalten zu vermeiden.

Beispiel:

SELECT
  segments.offer_id,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2021-12-01' AND '2021-12-31'

Für diese Abfrage wird davon ausgegangen, dass das Konto 100.000 offer_ids enthält und page_size auf 200 festgelegt ist. Die Ergebnismenge enthält dann 200 ReportRow-Objekte in der ersten Antwort und eine next_page_token.

Wenn Sie die nächsten 200 Zeilen abrufen möchten, senden Sie die Anfrage noch einmal mit der gleichen Seitengröße. Aktualisieren Sie jedoch die page_token der Anfrage auf die next_page_token der vorherigen Antwort.

Hier ein Beispiel für einen Antworttext (die ersten fünf Ergebnisse plus next_page_token):

{
  "results": [
    {
      "segments": {
        "offerId": "12345"
      },
      "metrics": {
        "clicks": "0",
        "impressions": "59",
        "ctr": 0
      }
    },
    {
      "segments": {
        "offerId": "12346"
      },
      "metrics": {
        "clicks": "9625",
        "impressions": "276695",
        "ctr": 0.034785594246372356
      }
    },
    {
      "segments": {
        "offerId": "12347"
      },
      "metrics": {
        "clicks": "148",
        "impressions": "22045",
        "ctr": 0.0067135404853708325
      }
    },
    {
      "segments": {
        "offerId": "12348"
      },
      "metrics": {
        "clicks": "11",
        "impressions": "1100",
        "ctr": 0.01
      }
    },
    {
      "segments": {
        "offerId": "12349"
      },
      "metrics": {
        "clicks": "569",
        "impressions": "62977",
        "ctr": 0.0090350445400701838
      }
    },
    ...
  ],
  "nextPageToken": "CMgB"
}