Python

Google предоставляет клиентскую библиотеку на Python для взаимодействия с API Ad Manager. Мы рекомендуем использовать эту библиотеку совместно с PyPI.

Для начала создайте новый проект в выбранной вами IDE или добавьте зависимость к существующему проекту. Google публикует артефакты клиентской библиотеки в PyPI под названием google-ads-admanager .

requirements.txt

google-ads-admanager==0.10.4

Командная строка

pip install google-ads-admanager

Настройка учетных данных

Клиентская библиотека Python использует OAuth2 и учетные данные приложения по умолчанию (ADC) для аутентификации.

ADC выполняет поиск учетных данных в следующем порядке:

  1. Переменная среды GOOGLE_APPLICATION_CREDENTIALS .
  2. Учетные данные пользователя настраиваются через интерфейс командной строки Google Cloud (gcloud CLI).
  3. При работе в Google Cloud учетная запись службы, привязанная к ресурсу Google Cloud.

Для создания и настройки учетных данных ADC см. раздел «Аутентификация» .

Сделайте свой первый запрос

Каждый сервис имеет объект ServiceClient с синхронными и асинхронными методами для каждого REST-метода. В следующем примере показано синхронное чтение Network .



from google.ads import admanager_v1


def sample_get_network():
    # Create a client
    client = admanager_v1.NetworkServiceClient()

    # Initialize request argument(s)
    request = admanager_v1.GetNetworkRequest(
        name="networks/[NETWORK_CODE]",
    )

    # Make the request
    response = client.get_network(request=request)

    # Handle the response
    print(response)

Примеры других методов и ресурсов можно найти в репозитории GitHub googleapis/google-cloud-python .

Регистрируйте HTTP-запросы и ответы.

Клиентская библиотека Python использует стандартную библиотеку logging Python для регистрации HTTP-запросов и ответов. По умолчанию логирование отключено.

Чтобы включить логирование, установите переменную среды GOOGLE_SDK_PYTHON_LOGGING_SCOPE . Эта переменная среды настраивает обработку событий логирования на уровне logging.DEBUG или выше.

# Log only Ad Manager API events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google.ads.admanager_v1

# Log all Google library events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google

В качестве альтернативы можно использовать модуль logging Python:

import logging

from google.ads import admanager_v1

logger = logging.getLogger("google.ads.admanager_v1")
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.DEBUG)

Обработка ошибок

Все ошибки API наследуются от базового класса GoogleAPIError .

Поле «Причина ошибки» однозначно определяет тип ошибки. Используйте это поле, чтобы определить способ обработки ошибки.

try:
  network = client.get_network(request=request)
  print(network)
except GoogleAPIError as e:
  # Handle error
  print(e.reason)

В сообщениях об ошибках API Ad Manager также содержится уникальный requestId который вы можете предоставить в службу поддержки для получения помощи в устранении неполадок. В следующем примере идентификатор requestId извлекается из сообщения об GoogleAPIError ;

except GoogleAPIError as e:
  requestInfoType = "type.googleapis.com/google.rpc.RequestInfo"
  requestInfo = [detail for detail in e.details if detail['@type'] == requestInfoType][0]
  print(requestInfo['requestId'])

Настройка параметров прокси-сервера

Клиентская библиотека Python учитывает настройки переменных окружения http_proxy и https_proxy .