GoogleAdsService.Search
accepte la pagination en spécifiant page_size
dans votre requête.
Cela divise l'ensemble de résultats de la requête en plusieurs réponses, chacune contenant jusqu'à page_size
d'objets. Si page_size
n'est pas spécifié, il est automatiquement défini sur le maximum de 10 000 lignes.
Par exemple, pour la requête suivante:
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
Si votre compte contient 50 000 mots clés et que page_size
est défini sur 1,000
, l'ensemble de résultats contiendra 1 000 objets GoogleAdsRow
dans la première réponse, avec un élément next_page_token
.
Pour récupérer les 1 000 lignes suivantes, renvoyez la requête avec la même taille de page, mais mettez à jour le page_token
de la requête avec le next_page_token
de la réponse. La valeur de page_size
dans les requêtes suivantes peut être différente à chaque fois. Notez que next_page_token
n'est pas renseigné dans la réponse contenant le dernier lot de lignes.
Nos bibliothèques clientes gèrent la pagination automatiquement. Il suffit d'itérer les lignes de la réponse. Lorsque toutes les lignes de la page actuelle ont été renvoyées, la bibliothèque cliente extrait automatiquement une nouvelle page de lignes en votre nom jusqu'à ce que l'ensemble de données complet soit récupéré. Si vous utilisez REST au lieu de gRPC, vous devez explicitement envoyer une requête pour chaque nouvelle page.
L'API Google Ads met en cache en interne l'intégralité de l'ensemble de données. Les requêtes ultérieures sont donc plus rapides que la première. Selon votre cas d'utilisation, vous pouvez définir page_size
sur une valeur comprise entre 1 et 10 000. En général, pour des performances globales plus rapides, utilisez un page_size
plus grand afin de réduire le nombre d'allers-retours.
Votre requête doit rester exactement la même dans les requêtes suivantes pour tirer parti des données mises en cache. Les requêtes ne sont pas prises en compte dans votre quota, en particulier pour l'accès de base. Si la requête diffère et est envoyée avec le même jeton de page, une erreur est renvoyée.