Sie können die mit GoogleAdsService.Search abgerufenen Ergebnisse seitenweise durchblättern, anstatt den gesamten Ergebnissatz auf einmal herunterzuladen. Eine Übersicht über die Berichterstellung mit der Google Ads API finden Sie unter Berichterstellung – Übersicht.
Search gibt feste Seiten mit bis zu 10.000 Zeilen zurück. Das Festlegen von page_size in SearchGoogleAdsRequest ist veraltet und gibt einen RequestError.PAGE_SIZE_NOT_SUPPORTED-Fehler zurück.
Beispielabfrage und Paginierung
Betrachten Sie die folgende Abfrage:
SELECT
ad_group.id,
ad_group_criterion.type,
ad_group_criterion.criterion_id,
ad_group_criterion.keyword.text,
ad_group_criterion.keyword.match_type
FROM ad_group_criterion
WHERE ad_group_criterion.type = KEYWORD
Wenn Ihr Konto 50.000 Keywords enthält, enthält das Ergebnis-Set in der ersten Antwort 10.000 GoogleAdsRow-Objekte sowie ein next_page_token.
Wenn Sie die nächsten 10.000 Zeilen abrufen möchten, senden Sie die Anfrage noch einmal, aktualisieren Sie aber das page_token der Anfrage auf das next_page_token der Antwort:
{
"query": "SELECT ad_group.id, ad_group_criterion.type, ad_group_criterion.criterion_id, ad_group_criterion.keyword.text, ad_group_criterion.keyword.match_type FROM ad_group_criterion WHERE ad_group_criterion.type = KEYWORD",
"pageToken": "CN3q9...example_token..."
}
Hinweis: next_page_token wird in der Antwort, die die letzte Gruppe von Zeilen enthält, nicht ausgefüllt.
Unsere Clientbibliotheken übernehmen die Paginierung automatisch. Sie müssen nur die Zeilen der Antwort durchlaufen. Wenn alle Zeilen auf der aktuellen Seite zurückgegeben wurden, ruft die Clientbibliothek automatisch eine neue Seite mit Zeilen ab, bis das gesamte Dataset abgerufen wurde. Wenn Sie REST anstelle von gRPC verwenden, müssen Sie für jede neue Seite explizit eine Anfrage stellen.
Caching und Ablauf von Seitentokens
Das Dataset wird intern in der Google Ads API zwischengespeichert, sodass nachfolgende Seitenanfragen schneller als die ursprüngliche Anfrage sind. next_page_token-Werte haben eine begrenzte Time-to-Live (TTL) und laufen ab, wenn sie nicht innerhalb eines kurzen Zeitraums (ca. zwei Stunden) verwendet werden. Wenn ein Seitentoken abläuft, gibt die API einen Fehler zurück und Sie müssen eine neue Anfrage starten.
Ihre Abfrage muss in nachfolgenden Anfragen identisch bleiben, damit die Daten aus dem Cache verwendet werden können. Nachfolgende paginierte Anfragen werden nicht als zusätzliche Vorgänge auf Ihr tägliches Vorgangskontingent für Explorer-Zugriff und grundlegenden Zugriff angerechnet. Wenn sich die Abfrage unterscheidet und mit demselben Seitentoken gesendet wird, wird ein Fehler zurückgegeben.