2222from datetime import datetime , timedelta
2323import sys
2424
25+ from proto .enums import ProtoEnumMeta
26+
2527from google .ads .googleads .client import GoogleAdsClient
2628from google .ads .googleads .errors import GoogleAdsException
2729from google .ads .googleads .util import get_nested_attr
@@ -86,6 +88,9 @@ def main(client, customer_id):
8688 elif resource_type == "AD_GROUP_AD" :
8789 old_resource = event .old_resource .ad_group_ad
8890 new_resource = event .new_resource .ad_group_ad
91+ elif resource_type == "AD_GROUP_ASSET" :
92+ old_resource = event .old_resource .ad_group_asset
93+ new_resource = event .new_resource .ad_group_asset
8994 elif resource_type == "AD_GROUP_CRITERION" :
9095 old_resource = event .old_resource .ad_group_criterion
9196 new_resource = event .new_resource .ad_group_criterion
@@ -95,9 +100,15 @@ def main(client, customer_id):
95100 elif resource_type == "AD_GROUP_FEED" :
96101 old_resource = event .old_resource .ad_group_feed
97102 new_resource = event .new_resource .ad_group_feed
103+ elif resource_type == "ASSET" :
104+ old_resource = event .old_resource .asset
105+ new_resource = event .new_resource .asset
98106 elif resource_type == "CAMPAIGN" :
99107 old_resource = event .old_resource .campaign
100108 new_resource = event .new_resource .campaign
109+ elif resource_type == "CAMPAIGN_ASSET" :
110+ old_resource = event .old_resource .campaign_asset
111+ new_resource = event .new_resource .campaign_asset
101112 elif resource_type == "CAMPAIGN_BUDGET" :
102113 old_resource = event .old_resource .campaign_budget
103114 new_resource = event .new_resource .campaign_budget
@@ -107,6 +118,9 @@ def main(client, customer_id):
107118 elif resource_type == "CAMPAIGN_FEED" :
108119 old_resource = event .old_resource .campaign_feed
109120 new_resource = event .new_resource .campaign_feed
121+ elif resource_type == "CUSTOMER_ASSET" :
122+ old_resource = event .old_resource .customer_asset
123+ new_resource = event .new_resource .customer_asset
110124 elif resource_type == "FEED" :
111125 old_resource = event .old_resource .feed
112126 new_resource = event .new_resource .feed
@@ -138,11 +152,22 @@ def main(client, customer_id):
138152 # https://developers.google.com/google-ads/api/docs/client-libs/python/library-version-10#field_names_that_are_reserved_words
139153 if changed_field == "type" :
140154 changed_field = "type_"
155+
141156 new_value = get_nested_attr (new_resource , changed_field )
157+ # If the field value is an Enum get the human readable name
158+ # so that it is printed instead of the field ID integer.
159+ if isinstance (type (new_value ), ProtoEnumMeta ):
160+ new_value = new_value .name
161+
142162 if operation_type == "CREATE" :
143163 print (f"\t { changed_field } set to { new_value } " )
144164 else :
145165 old_value = get_nested_attr (old_resource , changed_field )
166+ # If the field value is an Enum get the human readable name
167+ # so that it is printed instead of the field ID integer.
168+ if isinstance (type (old_value ), ProtoEnumMeta ):
169+ old_value = old_value .name
170+
146171 print (
147172 f"\t { changed_field } changed from { old_value } to { new_value } "
148173 )
0 commit comments