2017-12-13 16 views
0

Google 애드워즈 입찰가 시뮬레이터 시스템을 사용하여 애드워즈 입찰가 시뮬레이터에서 통찰력을 얻으려고합니다. 더 구체적으로는 AdGroupBidLandscape() 기능을 사용하지만 '찾을 수 없음'을 반환하지만 입찰가 시뮬레이터 도구가 애드워즈 웹 페이지 인터페이스를 통해 작동하는 캠페인이 있으므로 약간 혼란 스럽습니다. 여기에 제가 실행중인 코드가 있습니다. 그렇습니다. 저는 단 하나의 필드 만 검색한다는 것을 알고 있습니다. 가능한 한 단순하게 유지하려고합니다.캠페인을 반환하지 않는 getAdGroupBidLandscape가

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) 

애드워즈에 여러 계정이 있습니다. 개발자 API에 액세스 할 수있는 계정은 내 계정뿐이므로 내 계정이 캠페인과 연결된 기본 계정이 아닌 것이 아닌지 궁금합니다. 관리자 계정이 거의 없습니다. 아무도 나를 위해 이것에 대한 통찰력을 제공 할 수 있습니까?

감사합니다, 브래드

답변

0

이 문제가 특정 CAMPAIGNID를 지정하는 셀렉터에 술어를 추가하는 것이었다에 내가 발견 한 솔루션입니다. 그것이 올바르게 이해한다면 그것을 가진 데이터를 실제로 필터링해야하기 때문에 그것이 해결 될 것이라는 점은 저에게는 의미가 없습니다. 나는 그것에 대한 좋은 설명이 없지만 다른 누군가가 이것을 유용하다고 생각할 수도 있다고 생각했습니다. 이것이 내가 가진 문제에 대한 해결책이 아니라는 것을 깨닫게되면, 나는 돌아와이 대답을 업데이트 할 것이다.