Мне удалось сделать несколько вызовов API с использованием python, поэтому я надеюсь, что это кому-нибудь поможет.
Это функция, которую я использую для извлечения всех кампаний под учетной записью:
Я использую версию AWQL, так как ее легче понять.
def getAllCampaigns(service):
"""
Retrieve all campaigns under a account.
No campaigns will be returned when this function is ran from
a MCC account (having a MCC ID in googleads.yaml).
"""
# Using AWQL to retrieve campaigns.
query = (adwords.ServiceQueryBuilder()
.Select('Id', 'Name', 'Status', 'StartDate', 'EndDate',
'BudgetId', 'BudgetStatus', 'BudgetName', 'Amount',
'BudgetReferenceCount', 'IsBudgetExplicitlyShared')
.Limit(0, pageSize)
.Build())
campaigns = []
# print('start loop')
for page in query.Pager(service):
# print(page['totalNumEntries'])
if page['entries']:
for campaign in page['entries']:
campaigns.append(campaign)
else:
print('no campaigns were found')
# print('end loop')
# print(campaigns)
return campaigns
Эта функция требует от вас прохождения «услуги». Чтобы создать такой сервис, вам нужно получить информацию из файла googleads.yaml, используя метод LoadFromStorage.
Используйте следующую строку для создания клиента, который извлекает информацию из файла googleads.yaml, по умолчанию этот файл соответствует домашнему каталогу, поэтому убедитесь, что он там пока есть.
client = adwords.AdWordsClient.LoadFromStorage()
Используйте следующую строку для создания службы, которая может извлекать кампании.
service = client.GetService('CampaignService', version='v201809')
На этой странице документации AdWords API содержатся все службы, которые можно использовать. Может быть полезным.
Теперь вы можете вызывать созданную выше функцию следующим образом, и она будет печатать все кампании под учетной записью.
result = getAllCampaigns(service)
print(result)
Убедитесь, что ваш файл googleads.yaml содержит идентификатор (тестовой) учетной записи клиента, а не (тестовой) учетной записи MCC, поскольку он не будет печатать кампании, если в нем содержится идентификатор (тестовой) Аккаунт MCC.
Надеюсь, этот пример поможет вам или любому, кто может прийти сюда.