AI-generated Key Takeaways
- 
          
Request messages with optional fields must be constructed outside the method and passed as a single parameter.
 - 
          
Optional request headers are set directly on the request message, not in the method signature.
 - 
          
Required request object fields are identified by the
[(google.api.field_behavior) = REQUIRED]annotation in protobuf definitions. 
When using any optional fields on a request method, the request message must be constructed outside of the method and passed in as a single parameter.
Optional request headers, for example the
validate_only header in
the GoogleAdsService.Search method,
are not present in the method signature as keyword parameters, so they must be
set on the request message directly.
To determine if a request object field is required or optional, you can
reference the protobuf definitions for
services
and look for fields that contain the annotation [(google.api.field_behavior) =
REQUIRED].
Here's an example that sets the optional validate_only field
on a GoogleAdsService.Search request:
request = client.get_type("SearchGoogleAdsRequest")
request.customer_id = customer_id
request.query = query
request.validate_only = True
response = googleads_service.search(request=request)