Skip to content

Commit 2a72658

Browse files
authored
Changes for Google Ads API v3_0. (googleads#238)
1 parent 0fc8a7d commit 2a72658

1,539 files changed

Lines changed: 187315 additions & 904 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ChangeLog

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
* 5.0.0
2+
- Google Ads v3_0 release
3+
14
* 4.1.1:
25
- Fix for types.py to include classes of dependent modules
36

examples/account_management/create_customer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929

3030

3131
def main(client, manager_customer_id):
32-
customer_service = client.get_service('CustomerService', version='v2')
33-
customer = client.get_type('Customer', version='v2')
32+
customer_service = client.get_service('CustomerService', version='v3')
33+
customer = client.get_type('Customer', version='v3')
3434
today = datetime.today().strftime('%Y%m%d %H:%M:%S')
3535
customer.descriptive_name.value = ('Account created with '
3636
'CustomerService on %s' % today)

examples/account_management/get_account_changes.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def resource_name_for_resource_type(resource_type, row):
5656

5757

5858
def main(client, customer_id):
59-
ads_service = client.get_service('GoogleAdsService', version='v2')
59+
ads_service = client.get_service('GoogleAdsService', version='v3')
6060
query = ('SELECT change_status.resource_name, '
6161
'change_status.last_change_date_time, '
6262
'change_status.resource_type, '
@@ -74,9 +74,9 @@ def main(client, customer_id):
7474
page_size=ADS_PAGE_SIZE)
7575

7676
resource_type_enum = (client.get_type(
77-
'ChangeStatusResourceTypeEnum', version='v2').ChangeStatusResourceType)
77+
'ChangeStatusResourceTypeEnum', version='v3').ChangeStatusResourceType)
7878
change_status_operation_enum = (client.get_type(
79-
'ChangeStatusOperationEnum', version='v2').ChangeStatusOperation)
79+
'ChangeStatusOperationEnum', version='v3').ChangeStatusOperation)
8080

8181
try:
8282
for row in response:

examples/account_management/get_account_information.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626

2727
def main(client, customer_id):
28-
customer_service = client.get_service('CustomerService', version='v2')
28+
customer_service = client.get_service('CustomerService', version='v3')
2929

3030
resource_name = customer_service.customer_path(customer_id)
3131

examples/account_management/link_manager_to_client.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@ def main(client, customer_id, manager_customer_id):
3535

3636
# Extend an invitation to the client while authenticating as the manager.
3737
client_link_operation = client.get_type(
38-
'CustomerClientLinkOperation', version='v2')
38+
'CustomerClientLinkOperation', version='v3')
3939
client_link = client_link_operation.create
4040
client_link.client_customer.value = 'customers/{}'.format(customer_id)
4141
client_link.status = client.get_type(
4242
'ManagerLinkStatusEnum').PENDING
4343

4444
customer_client_link_service = client.get_service(
45-
'CustomerClientLinkService', version='v2')
45+
'CustomerClientLinkService', version='v3')
4646
response = customer_client_link_service.mutate_customer_client_link(
4747
manager_customer_id, client_link_operation)
4848
resource_name = response.results[0].resource_name
@@ -64,7 +64,7 @@ def main(client, customer_id, manager_customer_id):
6464
customer_client_link.resource_name = "{}"
6565
'''.format(resource_name)
6666

67-
ga_service = client.get_service('GoogleAdsService', version='v2')
67+
ga_service = client.get_service('GoogleAdsService', version='v3')
6868
response = ga_service.search(manager_customer_id, query=query)
6969

7070
# Since the google_ads_service.search method returns an iterator we need
@@ -74,18 +74,18 @@ def main(client, customer_id, manager_customer_id):
7474
manager_link_id = row.customer_client_link.manager_link_id
7575

7676
manager_link_operation = client.get_type(
77-
'CustomerManagerLinkOperation', version='v2')
77+
'CustomerManagerLinkOperation', version='v3')
7878
manager_link = manager_link_operation.update
7979
manager_link.resource_name.value = (
8080
'customers/{}/customerManagerLinks/{}~{}'.format(
8181
customer_id, manager_customer_id, manager_link_id))
8282

83-
manager_link.status = client.get_type('ManagerLinkStatusEnum', version='v2')
83+
manager_link.status = client.get_type('ManagerLinkStatusEnum', version='v3')
8484
field_mask = protobuf_helpers.field_mask(None, manager_link)
8585
manager_link_operation.update_mask.CopyFrom(field_mask)
8686

8787
manager_link_service = client.get_service('ManagerLinkService',
88-
version='v2')
88+
version='v3')
8989
response = manager_link_service.mutate_manager_links(
9090
manager_customer_id, [manager_link_operation])
9191
resource_name = response.results[0].resource_name

examples/account_management/list_accessible_customers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828

2929
def main(client):
30-
customer_service = client.get_service('CustomerService', version='v2')
30+
customer_service = client.get_service('CustomerService', version='v3')
3131

3232
try:
3333
accessible_customers = customer_service.list_accessible_customers()

examples/advanced_operations/add_ad_group_bid_modifier.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525

2626

2727
def main(client, customer_id, ad_group_id, bid_modifier_value):
28-
ad_group_service = client.get_service('AdGroupService', version='v2')
28+
ad_group_service = client.get_service('AdGroupService', version='v3')
2929
ad_group_bm_service = client.get_service('AdGroupBidModifierService',
30-
version='v2')
30+
version='v3')
3131

3232
# Create ad group bid modifier for mobile devices with the specified ad
3333
# group ID and bid modifier value.
@@ -44,7 +44,7 @@ def main(client, customer_id, ad_group_id, bid_modifier_value):
4444

4545
# Sets the device.
4646
ad_group_bid_modifier.device.type = client.get_type('DeviceEnum',
47-
version='v2').MOBILE
47+
version='v3').MOBILE
4848

4949
# Add the ad group bid modifier.
5050
try:

examples/advanced_operations/add_dynamic_page_feed.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def main(client, customer_id, campaign_id, ad_group_id):
6464
# Associate the page feed with the campaign.
6565
update_campaign_dsa_setting(client, customer_id, campaign_id,
6666
feed_details)
67-
ad_group_service = client.get_service('AdGroupService', version='v2')
67+
ad_group_service = client.get_service('AdGroupService', version='v3')
6868
ad_group_resource_name = ad_group_service.ad_group_path(customer_id,
6969
ad_group_id)
7070

@@ -94,14 +94,14 @@ def create_feed(client, customer_id):
9494
A FeedDetails instance with information about the newly created feed.
9595
"""
9696
# Retrieve a new feed operation object.
97-
feed_operation = client.get_type('FeedOperation', version='v2')
97+
feed_operation = client.get_type('FeedOperation', version='v3')
9898
# Create a new feed.
9999
feed = feed_operation.create
100100
feed.name.value = 'DSA Feed #{}'.format(uuid.uuid4())
101-
feed.origin = client.get_type('FeedOriginEnum', version='v2').USER
101+
feed.origin = client.get_type('FeedOriginEnum', version='v3').USER
102102

103103
feed_attribute_type_enum = client.get_type('FeedAttributeTypeEnum',
104-
version='v2')
104+
version='v3')
105105

106106
# Create the feed's attributes.
107107
feed_attribute_url = feed.attributes.add()
@@ -113,7 +113,7 @@ def create_feed(client, customer_id):
113113
feed_attribute_label.name.value = 'Label'
114114

115115
# Retrieve the feed service.
116-
feed_service = client.get_service('FeedService', version='v2')
116+
feed_service = client.get_service('FeedService', version='v3')
117117
# Send the feed operation and add the feed.
118118
response = feed_service.mutate_feeds(customer_id, [feed_operation])
119119

@@ -142,7 +142,7 @@ def get_feed_details(client, customer_id, resource_name):
142142
LIMIT 1
143143
'''.format(resource_name)
144144

145-
ga_service = client.get_service('GoogleAdsService', version='v2')
145+
ga_service = client.get_service('GoogleAdsService', version='v3')
146146
response = ga_service.search(customer_id, query=query)
147147

148148
# Maps specific fields in each row in the response to a dict. This would
@@ -167,14 +167,14 @@ def create_feed_mapping(client, customer_id, feed_details):
167167
"""
168168
# Retrieve a new feed mapping operation object.
169169
feed_mapping_operation = client.get_type('FeedMappingOperation',
170-
version='v2')
170+
version='v3')
171171
# Create a new feed mapping.
172172
feed_mapping = feed_mapping_operation.create
173173
feed_mapping.criterion_type = client.get_type(
174-
'FeedMappingCriterionTypeEnum', version='v2').DSA_PAGE_FEED
174+
'FeedMappingCriterionTypeEnum', version='v3').DSA_PAGE_FEED
175175
feed_mapping.feed.value = feed_details.resource_name
176176
dsa_page_feed_field_enum = client.get_type('DsaPageFeedCriterionFieldEnum',
177-
version='v2')
177+
version='v3')
178178

179179
url_field_mapping = feed_mapping.attribute_field_mappings.add()
180180
url_field_mapping.feed_attribute_id.value = feed_details.url_attribute_id
@@ -187,7 +187,7 @@ def create_feed_mapping(client, customer_id, feed_details):
187187

188188
# Retrieve the feed mapping service.
189189
feed_mapping_service = client.get_service('FeedMappingService',
190-
version='v2')
190+
version='v3')
191191
# Submit the feed mapping operation and add the feed mapping.
192192
response = feed_mapping_service.mutate_feed_mappings(
193193
customer_id, [feed_mapping_operation])
@@ -213,7 +213,7 @@ def create_feed_items(client, customer_id, feed_details, label):
213213
"http://www.example.com/discounts/flight-deals"]
214214

215215
def map_feed_urls(url):
216-
feed_item_operation = client.get_type('FeedItemOperation', version='v2')
216+
feed_item_operation = client.get_type('FeedItemOperation', version='v3')
217217
feed_item = feed_item_operation.create
218218
feed_item.feed.value = feed_details.resource_name
219219

@@ -235,7 +235,7 @@ def map_feed_urls(url):
235235
feed_item_operations = list(map(map_feed_urls, urls))
236236

237237
# Retrieve the feed item service.
238-
feed_item_service = client.get_service('FeedItemService', version='v2')
238+
feed_item_service = client.get_service('FeedItemService', version='v3')
239239
# Submit the feed item operations and add the feed items.
240240
response = feed_item_service.mutate_feed_items(customer_id,
241241
feed_item_operations)
@@ -267,7 +267,7 @@ def update_campaign_dsa_setting(client, customer_id, campaign_id, feed_details):
267267
LIMIT 1
268268
'''.format(campaign_id)
269269

270-
ga_service = client.get_service('GoogleAdsService', version='v2')
270+
ga_service = client.get_service('GoogleAdsService', version='v3')
271271
results = ga_service.search(customer_id, query=query)
272272

273273
for row in results:
@@ -282,7 +282,7 @@ def update_campaign_dsa_setting(client, customer_id, campaign_id, feed_details):
282282
campaign_id))
283283

284284
# Retrieve a new campaign operation
285-
campaign_operation = client.get_type('CampaignOperation', version='v2')
285+
campaign_operation = client.get_type('CampaignOperation', version='v3')
286286
# Copy the retrieved campaign onto the new campaign operation.
287287
campaign_operation.update.CopyFrom(campaign)
288288
updated_campaign = campaign_operation.update
@@ -294,7 +294,7 @@ def update_campaign_dsa_setting(client, customer_id, campaign_id, feed_details):
294294
campaign_operation.update_mask.CopyFrom(field_mask)
295295

296296
# Retrieve the campaign service.
297-
campaign_service = client.get_service('CampaignService', version='v2')
297+
campaign_service = client.get_service('CampaignService', version='v3')
298298
# Submit the campaign operation and update the campaign.
299299
response = campaign_service.mutate_campaigns(customer_id,
300300
[campaign_operation])
@@ -315,7 +315,7 @@ def add_dsa_targeting(client, customer_id, ad_group_resource_name, label):
315315
"""
316316
# Retrieve a new ad group criterion operation object.
317317
ad_group_criterion_operation = client.get_type(
318-
'AdGroupCriterionOperation', version='v2')
318+
'AdGroupCriterionOperation', version='v3')
319319
# Create a new ad group criterion.
320320
ad_group_criterion = ad_group_criterion_operation.create
321321
ad_group_criterion.ad_group.value = ad_group_resource_name
@@ -326,11 +326,11 @@ def add_dsa_targeting(client, customer_id, ad_group_resource_name, label):
326326
webpage_criterion_info = ad_group_criterion.webpage.conditions.add()
327327
webpage_criterion_info.argument.value = label
328328
webpage_criterion_info.operand = client.get_type(
329-
'WebpageConditionOperandEnum', version='v2').CUSTOM_LABEL
329+
'WebpageConditionOperandEnum', version='v3').CUSTOM_LABEL
330330

331331
# Retrieve the ad group criterion service.
332332
ad_group_criterion_service = client.get_service('AdGroupCriterionService',
333-
version='v2')
333+
version='v3')
334334
response = ad_group_criterion_service.mutate_ad_group_criteria(
335335
customer_id, [ad_group_criterion_operation])
336336
resource_name = response.results[0].resource_name

0 commit comments

Comments
 (0)