Abfrageergebnisse paginieren

Um Ergebnismengen mit einer großen Anzahl von Zeilen zu verarbeiten, unterstützt die Merchant Center Query Language die Paginierung. Im Anfragetext von reports.search stehen zwei Parameter zur Steuerung der Paginierung zur Verfügung: page_size und page_token. Außerdem gibt es ein Ausgabefeld im Antworttext von : next_page_token.

Der Parameter page_size gibt die maximale Anzahl der Zeilen an, die in einer einzelnen Anfrage abgerufen werden sollen. Wenn er nicht angegeben ist, wird er automatisch auf 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 er nicht angegeben ist, wird die erste Seite zurückgegeben. Um eine nachfolgende Seite abzurufen, muss der Wert, der als next_page_token vom vorherigen reports.search Aufruf empfangen wurde, als page_token angegeben werden. Wenn ein page_token angegeben wird, müssen alle anderen Parameter im Aufruf mit dem vorherigen Aufruf übereinstimmen, der das 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 enthält das Konto 100.000 offer_ids und die page_size ist auf 200 festgelegt. Die Ergebnismenge enthält dann in der ersten Antwort 200 ReportRow-Objekte sowie ein next_page_token.

Um die nächsten 200 Zeilen abzurufen, senden Sie die Anfrage noch einmal mit derselben Seitengröße, aktualisieren Sie aber das page_token der Anfrage auf das next_page_token der vorherigen Antwort.

Hier ein Beispiel für einen Antworttext (die ersten fünf Ergebnisse plus das 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"
}