getAdGroupBidLandscape 返回未找到任何活动

getAdGroupBidLandscape returning no campaigns found

我正在尝试使用 Google AdWords 出价模拟器系统来尝试从 AdWords 出价模拟器中获得一些见解。更具体地说,我正在使用 AdGroupBidLandscape() 功能,但它会返回 'No Campaigns Found',但我们肯定有出价模拟器工具通过 AdWords 网页界面工作的广告系列,所以我有点困惑。这是我 运行 的代码,是的,我知道我只检索一个字段 - 我只是想让事情尽可能简单。

from googleads import adwords
import logging
import time
CHUNK_SIZE = 16 * 1024
PAGE_SIZE = 100
logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.transport').setLevel(logging.DEBUG)
adwords_client = adwords.AdWordsClient.LoadFromStorage()
dataService = adwords_client.GetService('DataService', version='v201710')
offset = 0
selector = {'fields':['Bid'], #'impressions', 'promotedImpressions', 'requiredBudget', 'bidModifier', 'totalLocalImpressions', 'totalLocalClicks', 'totalLocalCost', 'totalLocalPromotedImpressions'],
'paging': {
        'startIndex': str(offset),
        'numberResults': str(PAGE_SIZE)
    }
}

more_pages = True
while more_pages:
  page = dataService.getAdGroupBidLandscape(selector)
  # Display results.
  if 'entries' in page:
    for campaign in page['entries']:
      print ('Campaign with id "%s", name "%s", and status "%s" was '
             'found.' % (campaign['id'], campaign['name'],
                         campaign['status']))
  else:
    print 'No campaigns were found.'
  offset += PAGE_SIZE
  selector['paging']['startIndex'] = str(offset)
  more_pages = offset < int(page['totalNumEntries'])
  time.sleep(1)

我们有几个不同的 AdWords 帐户。我的帐户是唯一拥有开发人员 API 访问权限的帐户,所以我有点想知道问题是否出在我的帐户不是与活动关联的主要帐户 - 我只是少数管理员帐户之一。任何人都可以为我提供一些见解吗?

谢谢, 布拉德

我发现这个问题的解决方案是向指定特定 CampaignId 的选择器添加谓词。虽然这对我来说没有任何意义,它会修复它,因为如果我理解正确的话,它实际上应该只是用它来过滤数据,它似乎有。我对此没有很好的解释,但我认为其他人可能会觉得这很有用。如果我意识到这不能解决我遇到的问题,我会回来更新这个答案。