Hi Eric,

That was it! Thanks so much for your extremely valuable help. I really
appreciate it.

-Travis

On Nov 17, 1:57 pm, AdWords API Advisor <adwordsapiadvi...@google.com>
wrote:
> Hi Travis,
>
> This error is being generated by the library, and the cause appears to
> be a missing "criterionType" field on your keywords ( 
> seehttp://code.google.com/apis/adwords/docs/developer/Keyword.html#crite...
> ).  This is a required field of the criterion and must be set.
>
> Best,
> - Eric Koleda, AdWords API Team
>
> On Nov 17, 10:44 am, Travis B <briggs.tra...@gmail.com> wrote:
>
> > Hi Eric,
>
> > I am using awapi_python_lib_7.2.0 for python. It works fine for
> > posting keywords where I don't set 'negative': True.
>
> > The method looks like this
> > ============BEGIN CODE
> >     def add_keywords(self, ad_group_id, keyword_list, match_type):
> >         neg_criteria = []
> >         print match_type
> >         if match_type == mt_broad:
> >             one_type = 'Broad'
> >             neg_criteria.extend([{'negative': True,
> >                                   'adGroupId':ad_group_id,
> >                                   'text':x,
> >                                   'type':'Phrase'} for x in
> > keyword_list.keys()])
> >             neg_criteria.extend([{'negative': True,
> >                                   'adGroupId':ad_group_id,
> >                                   'text':x,
> >                                   'type':'Exact'} for x in
> > keyword_list.keys()])
> >         elif match_type == mt_phrase:
> >             one_type = 'Phrase'
> >             neg_criteria.extend([{'negative': True,
> >                                   'adGroupId':ad_group_id,
> >                                   'text':x,
> >                                   'type':'Exact'} for x in
> > keyword_list.keys()])
> >         elif match_type == mt_exact:
> >             one_type = 'Exact'
>
> >         criteria = [{'adGroupId':ad_group_id,
> >                      'criterionType':'Keyword',
> >                      'destinationUrl':v['keyword_url'],
> >                      'maxCpc': str(round_micro_to_cent(v
> > ['keyword_max_cpc'])),
> >                      'text':x,
> >                      'type':one_type,
> >                      } for x,v in keyword_list.items()]
> >         criteria.extend(neg_criteria)
> >         res = self._criterion_service.AddCriteria(criteria)
>
> >         return res
> > ==================END CODE
>
> > keyword_list is a dictionary that looks something like this:
> > =============BEGIN DICT
> > {
> >               'race ny': {'keyword_id': 4604L,
> >                           'keyword_max_cpc': '175000',
> >                           'keyword_url': 'http://qwobl.com/<SNIP>
> > 0f9e8%26sid%3Dqwobl_google_3019&dkw=x',
> >                           'match_type': 'http://sem.rdf.qwobl.com/
> > matchtype/phrase#phrase'},
> >               'race ny tickets': {'keyword_id': 4622L,
> >                                   'keyword_max_cpc': '245000',
> >                                   'keyword_url': 'http://qwobl.com/
> > <SNIP>',
> >                                   'match_type': 'http://
> > sem.rdf.qwobl.com/matchtype/phrase#phrase'}}
>
> > =============END DICT
>
> > _criterion_service is defined like this:
> > ===============BEGIN CODE
> >         self._apiclient = Client(path=config.google.pickle_path)
> >         self._criterion_service = self._apiclient.GetCriterionService
> > ('https://sandbox.google.com')
> > ===============END CODE
>
> > Thanks for your help!
>
> > -Travis
>
> > On Nov 16, 11:06 am, AdWords API Advisor
>
> > <adwordsapiadvi...@google.com> wrote:
> > > Hi Travis,
>
> > > Are you using a client library for these requests?  If so, which
> > > language and version?  What does the code look like that leads to this
> > > error?
>
> > > Best,
> > > - Eric Koleda, AdWords API Team
>
> > > On Nov 13, 10:22 am, Travis B <briggs.tra...@gmail.com> wrote:
>
> > > > Hi,
>
> > > > I'm trying to set negative criteria for an adgroup (along with non-
> > > > negative ones) in a call to CriterionService.AddCriteria. I get the
> > > > following error message:
>
> > > > aw_api.Errors.ValidationError: Given API version, v13, is not
> > > > compatible with 'Phrase' class.
>
> > > > However the error appears for every value of Keyword type ('Broad',
> > > > 'Phrase' and 'Exact'). Can I simply not set ad group negative criteria
> > > > in version 13 of the API?
>
> > > > Thanks,
> > > > -Travis

--

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-...@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=.


Reply via email to