Skip to content

Commit 35bfb7b

Browse files
committed
Update annotations in targeting examples to remove usage of Any type
Change-Id: I0ea8717cf06437e38d3405e9bef5b16931a7b0f0
1 parent 058901a commit 35bfb7b

File tree

4 files changed

+97
-41
lines changed

4 files changed

+97
-41
lines changed

examples/targeting/add_campaign_targeting_criteria.py

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,30 @@
1616

1717

1818
import argparse
19-
from typing import Any, List
19+
from typing import List
2020
import sys
2121

2222
from google.ads.googleads.client import GoogleAdsClient
2323
from google.ads.googleads.errors import GoogleAdsException
24+
from google.ads.googleads.v20.common.types.criteria import (
25+
KeywordInfo,
26+
)
27+
from google.ads.googleads.v20.resources.types.campaign_criterion import (
28+
CampaignCriterion,
29+
)
30+
from google.ads.googleads.v20.services.services.campaign_service import (
31+
CampaignServiceClient,
32+
)
33+
from google.ads.googleads.v20.services.services.campaign_criterion_service import (
34+
CampaignCriterionServiceClient,
35+
)
36+
from google.ads.googleads.v20.services.services.geo_target_constant_service import (
37+
GeoTargetConstantServiceClient,
38+
)
39+
from google.ads.googleads.v20.services.types.campaign_criterion_service import (
40+
CampaignCriterionOperation,
41+
MutateCampaignCriteriaResponse
42+
)
2443

2544

2645
def main(
@@ -30,19 +49,19 @@ def main(
3049
keyword_text: str,
3150
location_id: str,
3251
) -> None:
33-
campaign_criterion_service: Any = client.get_service(
52+
campaign_criterion_service: CampaignCriterionServiceClient = client.get_service(
3453
"CampaignCriterionService"
3554
)
3655

37-
operations: List[Any] = [
56+
operations: List[CampaignCriterionOperation] = [
3857
create_location_op(client, customer_id, campaign_id, location_id),
3958
create_negative_keyword_op(
4059
client, customer_id, campaign_id, keyword_text
4160
),
4261
create_proximity_op(client, customer_id, campaign_id),
4362
]
4463

45-
campaign_criterion_response: Any = (
64+
campaign_criterion_response: MutateCampaignCriteriaResponse = (
4665
campaign_criterion_service.mutate_campaign_criteria(
4766
customer_id=customer_id, operations=operations
4867
)
@@ -55,17 +74,17 @@ def main(
5574
# [START add_campaign_targeting_criteria]
5675
def create_location_op(
5776
client: GoogleAdsClient, customer_id: str, campaign_id: str, location_id: str
58-
) -> Any:
59-
campaign_service: Any = client.get_service("CampaignService")
60-
geo_target_constant_service: Any = client.get_service(
77+
) -> CampaignCriterionOperation:
78+
campaign_service: CampaignServiceClient = client.get_service("CampaignService")
79+
geo_target_constant_service: GeoTargetConstantServiceClient = client.get_service(
6180
"GeoTargetConstantService"
6281
)
6382

6483
# Create the campaign criterion.
65-
campaign_criterion_operation: Any = client.get_type(
84+
campaign_criterion_operation: CampaignCriterionOperation = client.get_type(
6685
"CampaignCriterionOperation"
6786
)
68-
campaign_criterion: Any = campaign_criterion_operation.create
87+
campaign_criterion: CampaignCriterion = campaign_criterion_operation.create
6988
campaign_criterion.campaign = campaign_service.campaign_path(
7089
customer_id, campaign_id
7190
)
@@ -84,19 +103,19 @@ def create_location_op(
84103

85104
def create_negative_keyword_op(
86105
client: GoogleAdsClient, customer_id: str, campaign_id: str, keyword_text: str
87-
) -> Any:
88-
campaign_service: Any = client.get_service("CampaignService")
106+
) -> CampaignCriterionOperation:
107+
campaign_service: CampaignServiceClient = client.get_service("CampaignService")
89108

90109
# Create the campaign criterion.
91-
campaign_criterion_operation: Any = client.get_type(
110+
campaign_criterion_operation: CampaignCriterionOperation = client.get_type(
92111
"CampaignCriterionOperation"
93112
)
94-
campaign_criterion: Any = campaign_criterion_operation.create
113+
campaign_criterion: CampaignCriterion = campaign_criterion_operation.create
95114
campaign_criterion.campaign = campaign_service.campaign_path(
96115
customer_id, campaign_id
97116
)
98117
campaign_criterion.negative = True
99-
criterion_keyword = campaign_criterion.keyword
118+
criterion_keyword: KeywordInfo = campaign_criterion.keyword
100119
criterion_keyword.text = keyword_text
101120
criterion_keyword.match_type = client.enums.KeywordMatchTypeEnum.BROAD
102121

@@ -106,14 +125,14 @@ def create_negative_keyword_op(
106125
# [START add_campaign_targeting_criteria_1]
107126
def create_proximity_op(
108127
client: GoogleAdsClient, customer_id: str, campaign_id: str
109-
) -> Any:
110-
campaign_service: Any = client.get_service("CampaignService")
128+
) -> CampaignCriterionOperation:
129+
campaign_service: CampaignServiceClient = client.get_service("CampaignService")
111130

112131
# Create the campaign criterion.
113-
campaign_criterion_operation: Any = client.get_type(
132+
campaign_criterion_operation: CampaignCriterionOperation = client.get_type(
114133
"CampaignCriterionOperation"
115134
)
116-
campaign_criterion: Any = campaign_criterion_operation.create
135+
campaign_criterion: CampaignCriterion = campaign_criterion_operation.create
117136
campaign_criterion.campaign = campaign_service.campaign_path(
118137
customer_id, campaign_id
119138
)

examples/targeting/add_customer_negative_criteria.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,20 @@
1919

2020

2121
import argparse
22-
from typing import Any, List
2322
import sys
2423

2524
from google.ads.googleads.client import GoogleAdsClient
2625
from google.ads.googleads.errors import GoogleAdsException
27-
26+
from google.ads.googleads.v20.resources.types.customer_negative_criterion import (
27+
CustomerNegativeCriterion,
28+
)
29+
from google.ads.googleads.v20.services.services.customer_negative_criterion_service import (
30+
CustomerNegativeCriterionServiceClient,
31+
)
32+
from google.ads.googleads.v20.services.types.customer_negative_criterion_service import (
33+
CustomerNegativeCriterionOperation,
34+
MutateCustomerNegativeCriteriaResponse
35+
)
2836

2937
def main(client: GoogleAdsClient, customer_id: str) -> None:
3038
"""The main method that creates all necessary entities for the example.
@@ -33,35 +41,36 @@ def main(client: GoogleAdsClient, customer_id: str) -> None:
3341
client: an initialized GoogleAdsClient instance.
3442
customer_id: a client customer ID.
3543
"""
36-
tragedy_criterion_op: Any = client.get_type(
44+
tragedy_criterion_op: CustomerNegativeCriterionOperation = client.get_type(
3745
"CustomerNegativeCriterionOperation"
3846
)
39-
tragedy_criterion: Any = tragedy_criterion_op.create
47+
tragedy_criterion: CustomerNegativeCriterion = tragedy_criterion_op.create
4048
# Creates a negative customer criterion excluding the content label type
4149
# of 'TRAGEDY'.
4250
tragedy_criterion.content_label.type_ = (
4351
client.enums.ContentLabelTypeEnum.TRAGEDY
4452
)
4553

46-
placement_criterion_op: Any = client.get_type(
54+
placement_criterion_op: CustomerNegativeCriterionOperation = client.get_type(
4755
"CustomerNegativeCriterionOperation"
4856
)
49-
placement_criterion: Any = placement_criterion_op.create
57+
placement_criterion: CustomerNegativeCriterion = placement_criterion_op.create
5058
# Creates a negative customer criterion excluding the placement with URL
5159
# 'http://www.example.com'.
5260
placement_criterion.placement.url = "http://www.example.com"
5361

54-
customer_negative_criterion_service: Any = client.get_service(
62+
customer_negative_criterion_service: CustomerNegativeCriterionServiceClient = client.get_service(
5563
"CustomerNegativeCriterionService"
5664
)
5765

5866
# Issues a mutate request to add the negative customer criteria.
59-
response: Any = (
67+
response: MutateCustomerNegativeCriteriaResponse = (
6068
customer_negative_criterion_service.mutate_customer_negative_criteria(
6169
customer_id=customer_id,
6270
operations=[tragedy_criterion_op, placement_criterion_op],
6371
)
6472
)
73+
6574
print(f"Added {len(response.results)} negative customer criteria:")
6675
for negative_criterion in response.results:
6776
print(f"Resource name: '{negative_criterion.resource_name}'")

examples/targeting/add_demographic_targeting_criteria.py

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,39 +18,51 @@
1818

1919

2020
import argparse
21-
from typing import Any, List
2221
import sys
2322

2423
from google.ads.googleads.client import GoogleAdsClient
2524
from google.ads.googleads.errors import GoogleAdsException
25+
from google.ads.googleads.v20.resources.types.ad_group_criterion import (
26+
AdGroupCriterion,
27+
)
28+
from google.ads.googleads.v20.services.services.ad_group_criterion_service import (
29+
AdGroupCriterionServiceClient,
30+
)
31+
from google.ads.googleads.v20.services.services.ad_group_service import (
32+
AdGroupServiceClient,
33+
)
34+
from google.ads.googleads.v20.services.types.ad_group_criterion_service import (
35+
AdGroupCriterionOperation,
36+
MutateAdGroupCriteriaResponse,
37+
)
2638

2739

2840
def main(
2941
client: GoogleAdsClient, customer_id: str, ad_group_id: str
3042
) -> None:
31-
ad_group_service: Any = client.get_service("AdGroupService")
32-
ad_group_criterion_service: Any = client.get_service(
43+
ad_group_service: AdGroupServiceClient = client.get_service("AdGroupService")
44+
ad_group_criterion_service: AdGroupCriterionServiceClient = client.get_service(
3345
"AdGroupCriterionService"
3446
)
3547

3648
ad_group_resource_name: str = ad_group_service.ad_group_path(
3749
customer_id, ad_group_id
3850
)
3951
# Create a positive ad group criterion for the gender MALE.
40-
gender_ad_group_criterion_operation: Any = client.get_type(
52+
gender_ad_group_criterion_operation: AdGroupCriterionOperation = client.get_type(
4153
"AdGroupCriterionOperation"
4254
)
43-
gender_ad_group_criterion: Any = (
55+
gender_ad_group_criterion: AdGroupCriterion = (
4456
gender_ad_group_criterion_operation.create
4557
)
4658
gender_ad_group_criterion.ad_group = ad_group_resource_name
4759
gender_ad_group_criterion.gender.type_ = client.enums.GenderTypeEnum.MALE
4860

4961
# Create a negative ad group criterion for age range of 18 to 24.
50-
age_range_ad_group_criterion_operation: Any = client.get_type(
62+
age_range_ad_group_criterion_operation: AdGroupCriterionOperation = client.get_type(
5163
"AdGroupCriterionOperation"
5264
)
53-
age_range_ad_group_criterion: Any = (
65+
age_range_ad_group_criterion: AdGroupCriterion = (
5466
age_range_ad_group_criterion_operation.create
5567
)
5668
age_range_ad_group_criterion.ad_group = ad_group_resource_name
@@ -60,7 +72,7 @@ def main(
6072
)
6173

6274
# Add two ad group criteria
63-
ad_group_criterion_response: Any = (
75+
ad_group_criterion_response: MutateAdGroupCriteriaResponse = (
6476
ad_group_criterion_service.mutate_ad_group_criteria(
6577
customer_id=customer_id,
6678
operations=[
@@ -71,7 +83,7 @@ def main(
7183
)
7284

7385
for result in ad_group_criterion_response.results:
74-
print("Created keyword {}.".format(result.resource_name))
86+
print(f"Created ad group criterion '{result.resource_name}'.")
7587

7688

7789
if __name__ == "__main__":

examples/targeting/get_geo_target_constants_by_names.py

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,21 @@
1515
"""This example illustrates getting GeoTargetConstants by given location names."""
1616

1717

18-
from typing import Any, List
1918
import sys
2019

2120
from google.ads.googleads.client import GoogleAdsClient
2221
from google.ads.googleads.errors import GoogleAdsException
22+
from google.ads.googleads.v20.resources.types.geo_target_constant import (
23+
GeoTargetConstant,
24+
)
25+
from google.ads.googleads.v20.services.services.geo_target_constant_service import (
26+
GeoTargetConstantServiceClient,
27+
)
28+
from google.ads.googleads.v20.services.types.geo_target_constant_service import (
29+
GeoTargetConstantSuggestion,
30+
SuggestGeoTargetConstantsRequest,
31+
SuggestGeoTargetConstantsResponse,
32+
)
2333

2434
# Locale is using ISO 639-1 format. If an invalid locale is given,
2535
# 'en' is used by default.
@@ -32,10 +42,13 @@
3242

3343
# [START get_geo_target_constants_by_names]
3444
def main(client: GoogleAdsClient) -> None:
35-
gtc_service: Any = client.get_service("GeoTargetConstantService")
36-
37-
gtc_request: Any = client.get_type("SuggestGeoTargetConstantsRequest")
45+
gtc_service: GeoTargetConstantServiceClient = client.get_service(
46+
"GeoTargetConstantService"
47+
)
3848

49+
gtc_request: SuggestGeoTargetConstantsRequest = client.get_type(
50+
"SuggestGeoTargetConstantsRequest"
51+
)
3952
gtc_request.locale = LOCALE
4053
gtc_request.country_code = COUNTRY_CODE
4154

@@ -46,10 +59,13 @@ def main(client: GoogleAdsClient) -> None:
4659
["Paris", "Quebec", "Spain", "Deutschland"]
4760
)
4861

49-
results: Any = gtc_service.suggest_geo_target_constants(gtc_request)
62+
results: SuggestGeoTargetConstantsResponse = (
63+
gtc_service.suggest_geo_target_constants(gtc_request)
64+
)
5065

66+
suggestion: GeoTargetConstantSuggestion
5167
for suggestion in results.geo_target_constant_suggestions:
52-
geo_target_constant: Any = suggestion.geo_target_constant
68+
geo_target_constant: GeoTargetConstant = suggestion.geo_target_constant
5369
print(
5470
f"{geo_target_constant.resource_name} "
5571
f"({geo_target_constant.name}, "

0 commit comments

Comments
 (0)