getAdGroupBidLandscape не возвращает ни одной кампании
Я пытаюсь использовать систему имитатора ставок Google AdWords, чтобы получить представление о симуляторе ставок AdWords. Точнее говоря, я использую функцию AdGroupBidLandscape(), но она возвращает "Не найдено ни одной кампании", но у нас определенно есть кампании, в которых инструмент Bid Simulator работает через интерфейс веб-страницы 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 для разработчиков, поэтому мне интересно, если проблема в том, что моя учетная запись не является основной учетной записью, связанной с кампаниями - у меня просто одна из немногих учетных записей администратора. Может ли кто-нибудь дать мне представление об этом?
Спасибо бред
1 ответ
Решение, которое я нашел для этой проблемы, состояло в том, чтобы добавить предикат к селектору, указывающему определенный CampaignId. Хотя это не имеет никакого смысла для меня, чтобы исправить это, потому что на самом деле нужно просто фильтровать данные с этим, если я правильно понимаю вещи, похоже, что так и есть. У меня нет хорошего объяснения этому, но я думал, что кто-то еще может найти это полезным. Если я пойму, что это не является решением проблемы, с которой я столкнулся, я вернусь и обновлю этот ответ.