2424
2525
2626import argparse
27+ from collections .abc import Iterator
2728import sys
2829from typing import List
2930
3031from google .ads .googleads .client import GoogleAdsClient
3132from google .ads .googleads .errors import GoogleAdsException
33+ from google .ads .googleads .v20 .services .services .google_ads_service .client import (
34+ GoogleAdsServiceClient ,
35+ )
36+ from google .ads .googleads .v20 .services .types .google_ads_service import (
37+ GoogleAdsRow ,
38+ SearchGoogleAdsRequest ,
39+ SearchGoogleAdsStreamRequest ,
40+ SearchGoogleAdsStreamResponse ,
41+ )
3242from google .api_core .exceptions import DeadlineExceeded
3343from google .api_core .retry import Retry
3444
@@ -53,14 +63,18 @@ def make_server_streaming_call(
5363 client: An initialized GoogleAds client.
5464 customer_id: The str Google Ads customer ID.
5565 """
56- ga_service = client .get_service ("GoogleAdsService" )
66+ ga_service : GoogleAdsServiceClient = client .get_service ("GoogleAdsService" )
5767 campaign_ids : List [str ] = []
5868
5969 try :
60- search_request = client .get_type ("SearchGoogleAdsStreamRequest" )
70+ search_request : SearchGoogleAdsStreamRequest = client .get_type (
71+ "SearchGoogleAdsStreamRequest"
72+ )
6173 search_request .customer_id = customer_id
6274 search_request .query = _QUERY
63- stream = ga_service .search_stream (
75+ stream : Iterator [
76+ SearchGoogleAdsStreamResponse
77+ ] = ga_service .search_stream (
6478 request = search_request ,
6579 # When making any request, an optional "timeout" parameter can be
6680 # provided to specify a client-side response deadline in seconds.
@@ -70,7 +84,9 @@ def make_server_streaming_call(
7084 timeout = _CLIENT_TIMEOUT_SECONDS ,
7185 )
7286
87+ batch : SearchGoogleAdsStreamResponse
7388 for batch in stream :
89+ row : GoogleAdsRow
7490 for row in batch .results :
7591 campaign_ids .append (row .campaign .id )
7692
@@ -102,14 +118,16 @@ def make_unary_call(client: GoogleAdsClient, customer_id: str) -> None:
102118 client: An initialized GoogleAds client.
103119 customer_id: The Google Ads customer ID.
104120 """
105- ga_service = client .get_service ("GoogleAdsService" )
121+ ga_service : GoogleAdsServiceClient = client .get_service ("GoogleAdsService" )
106122 campaign_ids : List [str ] = []
107123
108124 try :
109- search_request = client .get_type ("SearchGoogleAdsRequest" )
125+ search_request : SearchGoogleAdsRequest = client .get_type (
126+ "SearchGoogleAdsRequest"
127+ )
110128 search_request .customer_id = customer_id
111129 search_request .query = _QUERY
112- results = ga_service .search (
130+ results : Iterator [ GoogleAdsRow ] = ga_service .search (
113131 request = search_request ,
114132 # When making any request, an optional "retry" parameter can be
115133 # provided to specify its retry behavior. Complete information about
@@ -133,6 +151,7 @@ def make_unary_call(client: GoogleAdsClient, customer_id: str) -> None:
133151 ),
134152 )
135153
154+ row : GoogleAdsRow
136155 for row in results :
137156 campaign_ids .append (row .campaign .id )
138157
0 commit comments