У меня есть токен разработчика и я установил пакет googleads. Как начать использовать Google Ads API с Python? - PullRequest
0 голосов
/ 28 августа 2018

Я пытался использовать Python для подключения к Google Ads API. Я получил токен разработчика и установил пакет googleads в Pycharm. Как я могу начать использовать API? В прошлом месяце мои попытки использовать учебник Google оказались безрезультатными.

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Мне удалось сделать несколько вызовов 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.

Надеюсь, этот пример поможет вам или любому, кто может прийти сюда.

0 голосов
/ 20 декабря 2018

В той же лодке, что и вы, но вам удалось, по крайней мере, установить соединение (или, по крайней мере, я так думаю)

Эта ссылка сделала это для меня: https://developers.google.com/adwords/api/docs/guides/first-api-call

С точки зрения шагов:

  1. Запрос токена разработчика.
  2. Создание тестовых аккаунтов.
  3. Получить клиентскую библиотеку.
  4. Настройка аутентификации через OAuth2.
  5. Получите токен обновления OAuth2 и настройте клиент.
  6. Сделайте свой первый вызов API.

Похоже, что вы выполнили шаги 1, (2) и 3, предположим, что следующим шагом будет 4, и вам нужно убедиться, что у вас есть необходимые разрешения для создания учетных данных oauth2 через консоль Google API, следуйте инструкциям обозначенный в ссылке, и вы получите токен обновления.

Не собираюсь лгать, я застрял на шаге 6 сам ...

...