Running code to pull data from the TargetingIdeaService SOAP api. I'm using 
the example exactly as written of the google github repository (see code 
below).

Oauth and everything else working fine. Here is the error:

suds.WebFault: Server raised fault: 
'[TargetingIdeaError.INVALID_SEARCH_PARAMETERS @ 
selector.searchParameters.searchParameters[0]; 
trigger:'RelatedToQuerySearchParameter']'



If anyone know's what's going on here - you're help is greatly appreciated!




AD_GROUP_ID = None
PAGE_SIZE = 100

def main(client, ad_group_id=None):
  # Initialize appropriate service.
  targeting_idea_service = client.GetService(
      'TargetingIdeaService', version='v201802')

  # Construct selector object and retrieve related keywords.
  selector = {
      'ideaType': 'KEYWORD',
      'requestType': 'IDEAS'
  }

  selector['requestedAttributeTypes'] = [
      'KEYWORD_TEXT', 'SEARCH_VOLUME', 'CATEGORY_PRODUCTS_AND_SERVICES']

  offset = 0
  selector['paging'] = {
      'startIndex': str(offset),
      'numberResults': str(PAGE_SIZE)
  }

  selector['searchParameters'] = [{
      'xsi_type': 'RelatedToQuerySearchParameter',
      'queries': ['baseball']
  }]

  # # Language setting (optional).
  # selector['searchParameters'].append({
  #     # The ID can be found in the documentation:
  #     # 
https://developers.google.com/adwords/api/docs/appendix/languagecodes
  #     'xsi_type': 'LanguageSearchParameter',
  #     'languages': [{'id': '1000'}]
  # })

  # # Network search parameter (optional)
  # selector['searchParameters'].append({
  #     'xsi_type': 'NetworkSearchParameter',
  #     'networkSetting': {
  #         'targetGoogleSearch': True,
  #         'targetSearchNetwork': False,
  #         'targetContentNetwork': False,
  #         'targetPartnerSearchNetwork': False
  #     }
  # })

  # # Use an existing ad group to generate ideas (optional)
  # if ad_group_id is not None:
  #   selector['searchParameters'].append({
  #       'xsi_type': 'SeedAdGroupIdSearchParameter',
  #       'adGroupId': ad_group_id
  #   })

  more_pages = True
  while more_pages:
    page = targeting_idea_service.get(selector)

    # Display results.
    if 'entries' in page:
      for result in page['entries']:
        attributes = {}
        for attribute in result['data']:
          attribute_value = attribute['value']
          if 'value' in attribute_value:
            attributes[attribute['key']] = attribute_value['value']
          else:
            attributes[attribute['key']] = []
        print ('Keyword with "%s" text and average monthly search volume '
               '"%s" was found with Products and Services categories: %s.'
               % (attributes['KEYWORD_TEXT'],
                  attributes['SEARCH_VOLUME'],
                  attributes['CATEGORY_PRODUCTS_AND_SERVICES']))
      print
    else:
      print 'No related keywords were found.'
    offset += PAGE_SIZE
    selector['paging']['startIndex'] = str(offset)
    more_pages = offset < int(page['totalNumEntries'])


if __name__ == '__main__':
  # Initialize client object.
  adwords_client = adwords.AdWordsClient.LoadFromStorage()

  main(adwords_client)


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
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 and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
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/f4ba301a-7e43-41ee-90a5-dbdd3b2e3e83%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to