אפשר לעבור בין התוצאות שאוחזרו באמצעות GoogleAdsService.Search במקום להוריד את כל מערך התוצאות בבת אחת. בסקירה הכללית על דיווח מוסבר איך מדווחים באמצעות Google Ads API.
Search מחזיר דפים קבועים של עד 10,000 שורות. ההגדרה page_size ב-SearchGoogleAdsRequest הוצאה משימוש ומחזירה את השגיאה RequestError.PAGE_SIZE_NOT_SUPPORTED.
שאילתה לדוגמה ועימוד
לדוגמה, נבחן את השאילתה הבאה:
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
אם החשבון שלכם מכיל 50,000 מילות מפתח, קבוצת התוצאות תכיל 10,000 אובייקטים מסוג GoogleAdsRow בתשובה הראשונה, יחד עם next_page_token.
כדי לאחזר את 10,000 השורות הבאות, שולחים שוב את הבקשה, אבל מעדכנים את הערך של page_token בבקשה לערך של next_page_token בתגובה:
{
"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..."
}
שימו לב שהשדה next_page_token לא מאוכלס בתגובה שמכילה את קבוצת השורות האחרונה.
ספריות הלקוח שלנו מטפלות בחלוקה לדפים באופן אוטומטי. צריך רק לעבור על השורות בתגובה. אחרי שכל השורות בדף הנוכחי הוחזרו, ספריית הלקוח מאחזרת באופן אוטומטי דף חדש של שורות בשבילכם, עד שכל מערך הנתונים מאוחזר. אם משתמשים ב-REST במקום ב-gRPC, צריך לשלוח בקשה מפורשת לכל דף חדש.
שמירה במטמון ותפוגת התוקף של אסימוני דפים
Google Ads API שומר את קבוצת הנתונים במטמון באופן פנימי, כך שהבקשות הבאות לדפים מהירות יותר מהבקשה הראשונית. שימו לב שלערכי next_page_token יש אורך חיים (TTL) מוגבל, והם פגים אם לא משתמשים בהם תוך פרק זמן קצר (כשעתיים). אם פג התוקף של אסימון הדף, ה-API מחזיר שגיאה וצריך להתחיל שאילתה חדשה.
כדי לנצל את הנתונים שנשמרו במטמון, השאילתה צריכה להיות זהה בבקשות הבאות. בקשות עמודים עוקבות לא נספרות כפעולות נוספות במכסת הפעולות היומית של גישת Explorer ושל גישה בסיסית. אם השאילתה שונה ונשלחת עם אותו אסימון דף, מוחזרת שגיאה.