Um Ergebnissätze mit einer großen Anzahl von Zeilen zu verarbeiten, unterstützt die Merchant Center Query Language die Paginierung. Die Paginierung kann im reports.search
-Anfragetext über zwei Parameter gesteuert werden: 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 Sie keine Angabe machen, 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 keine Angabe gemacht wird, wird die erste Seite zurückgegeben. Wenn Sie eine nachfolgende Seite abrufen möchten, 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 den 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'
Angenommen, das Konto enthält 100.000 offer_ids
und page_size
ist auf 200 gesetzt. Die Ergebnismenge enthält dann 200 ReportRow
-Objekte in der ersten Antwort sowie ein next_page_token
.
Wenn Sie die nächsten 200 Zeilen abrufen möchten, senden Sie die Anfrage noch einmal mit derselben Seitengröße, aktualisieren Sie aber den Wert für page_token
in der Anfrage auf den Wert für next_page_token
in der vorherigen Antwort.
Hier ein Beispiel für einen Antworttext (die ersten fünf Ergebnisse sowie die 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"
}