כשמגדירים שדות אופציונליים בבקשת API, צריך ליצור את אובייקט הודעת הבקשה ישירות ולהעביר אותו כפרמטר request יחיד לשיטת השירות.
שדות אופציונליים בבקשה – כמו השדה validate_only בשיטה GoogleAdsService.Search – מושמטים מחתימות שיטה שטוחות כדי שמילות המפתח יהיו קלות לניהול, ולכן צריך להגדיר אותם ישירות במופע של הודעת הבקשה.
כדי לדעת אם שדה של אובייקט בקשה הוא שדה חובה או שדה אופציונלי, אפשר לעיין בהגדרות השירות של Google Ads API protobuf ולחפש שדות שמכילים את ההערה [(google.api.field_behavior) = REQUIRED].
שדות בלי ההערה הזו הם אופציונליים.
בדוגמה הבאה נוצר אובייקט SearchGoogleAdsRequest ומוגדר השדה האופציונלי validate_only בבקשת GoogleAdsService.Search:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()
googleads_service = client.get_service("GoogleAdsService")
# Initialize the request object and set required fields.
request = client.get_type("SearchGoogleAdsRequest")
request.customer_id = customer_id
request.query = query
# Set the optional validate_only field.
request.validate_only = True
response = googleads_service.search(request=request)