*My code :* from googleads import adwords
ADGROUP_ID = 'xxxxxxxxxxxxx' def main(client, adgroup_id): adgroup_criterion_service = client.GetService( 'AdGroupCriterionService', version='v201710') income = { 'xsi_type': 'NegativeAdGroupCriterion', 'adGroupId': adgroup_id, 'criterion': { 'xsi_type': 'IncomeRange', 'incomeRangeType':'INCOME_RANGE_70_80' #'id':i }} # Construct operations and add ad group criteria. operations = [ { 'operator': 'ADD', 'operand': income } ] ad_group_criteria = adgroup_criterion_service.mutate( operations)['value'] for response in ad_group_criteria['value']: print ('campaign criterion with campaign ID %s and ID "%s" ' 'type "%s" was added.' % (response['campaignId'], response['criterion']['id'], response['criterion']['incomeRangeType'])) if __name__ == '__main__': adwords_client = adwords.AdWordsClient.LoadFromStorage() main(adwords_client, ADGROUP_ID) *The response i Get is:* Response summary - {'operations': 1, 'serviceName': AdGroupCriterionService, 'faultMessage': '[RequiredError.REQUIRED @ operations[0].operand.criterion.id]', 'responseTime': 236, 'requestId': 000561d7e03503f80a622745910dd0b1, 'methodName': mutate, 'isFault': True} Traceback (most recent call last): File "<ipython-input-1-2565dba4436a>", line 1, in <module> runfile('/xxxxxxx/income range.py', wdir='/xxxxxxx') File "/xxxxxxx/lib/python3.5/site-packages/spyder/utils/site/sitecustomize.py", line 866, in runfile execfile(filename, namespace) File "/xxxxxxx/lib/python3.5/site-packages/spyder/utils/site/sitecustomize.py", line 102, in execfile exec(compile(f.read(), filename, 'exec'), namespace) File "/xxxxxxx/income range.py", line 45, in <module> main(adwords_client, ADGROUP_ID) File "/xxxxxxx/income range.py", line 33, in main operations)['value'] File "/xxxxxxx/.local/lib/python3.5/site-packages/googleads/common.py", line 767, in MakeSoapRequest self._packer) for arg in args]) File "/xxxxxxx/.local/lib/python3.5/site-packages/suds/client.py", line 521, in __call__ return client.invoke(args, kwargs) File "/xxxxxxx/.local/lib/python3.5/site-packages/suds/client.py", line 581, in invoke result = self.send(soapenv) File "/xxxxxxx/.local/lib/python3.5/site-packages/suds/client.py", line 619, in send description=tostr(e), original_soapenv=original_soapenv) File "/xxxxxxx/.local/lib/python3.5/site-packages/suds/client.py", line 670, in process_reply raise WebFault(fault, replyroot) WebFault: Server raised fault: '[RequiredError.REQUIRED @ operations[0].operand.criterion.id]' On Thursday, December 28, 2017 at 1:53:00 PM UTC+5:30, Shreya Dama wrote: > > When I use Google Adwords to target IncomeRange, I got an error saying > "*criterion > ID required*", but there are no constant codes for IncomeRange. Could you > please help me with it. > > Thanks in advance. > -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and Google+: https://googleadsdeveloper.blogspot.com/ https://plus.google.com/+GoogleAdsDevelopers/posts =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en --- You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api+unsubscr...@googlegroups.com. Visit this group at https://groups.google.com/group/adwords-api. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/826fe4b0-c178-4617-9f09-5bd92d361d71%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.