Эта клиентская библиотека упрощает доступ к SOAP API Google Ad Manager. Библиотека предоставляет простые способы хранения вашей аутентификации и создания клиентов веб-службы SOAP. Он также содержит пример кода, который поможет вам начать интеграцию с нашими API.
Загрузите и установите библиотеку
setuptools является необходимым условием для установки библиотеки Googleads.
Рекомендуется устанавливать библиотеку и ее зависимости из PyPI с помощью pip. Это можно сделать с помощью одной команды:
$ pip install googleads
В качестве альтернативы вы можете загрузить библиотеку в виде архива. Чтобы начать установку, перейдите в каталог, содержащий загруженную вами разархивированную клиентскую библиотеку, и запустите сценарий «setup.py» следующим образом:
$ python setup.py build install
Скопируйте файл googleads.yaml в свой домашний каталог.
Он будет использоваться для хранения учетных данных и других настроек, которые можно загрузить для инициализации клиента.
Настройте свои учетные данные OAuth2
API Менеджера рекламы использует OAuth2 в качестве аутентификации.
механизм. Следуйте соответствующему руководству ниже в зависимости от вашего варианта использования.
Если вы получаете доступ к API, используя свои собственные учетные данные...
Если вы получаете доступ к API от имени клиентов...
Разработка веб-приложения (Менеджер рекламы)
Использование Менеджера рекламы
Примеры кода для последних версий Менеджера рекламы можно найти на странице выпусков.
Альтернативно вы можете найти примеры Менеджера рекламы в каталоге примеров этого репозитория.
Вы можете кэшировать информацию аутентификации API. Библиотека включает пример файла с именем googleads.yaml
показывающий, как это сделать. Заполните поля API и функций, которые вы планируете использовать. Методы библиотеки LoadFromStorage
по умолчанию ищут файл с таким именем в вашем домашнем каталоге, но вы можете передать путь к любому файлу с правильным содержимым yaml.
# Используйте местоположение по умолчанию - ваш домашний каталог: ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage()# Альтернативно укажите местоположение файла: ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage('C:MyDirectorygoogleads.yaml')
Если у вас есть проблемы, непосредственно связанные с клиентской библиотекой, воспользуйтесь системой отслеживания проблем.
Если у вас возникли проблемы, связанные с конкретным API, воспользуйтесь форумами поддержки продукта:
Менеджер рекламы
Библиотека использует встроенную среду ведения журналов Python. Вы можете указать свою конфигурацию через файл конфигурации; см. пример googleads.yaml.
Кроме того, вы можете вручную указать конфигурацию ведения журнала. Например, если вы хотите регистрировать свои взаимодействия SOAP в стандартный вывод и используете библиотеку мыла Zeep, вы можете сделать следующее:
logging.basicConfig(level=logging.INFO, format=googleads.util.LOGGER_FORMAT)logging.getLogger('googleads.soap').setLevel(logging.DEBUG)
Если вы хотите вести журнал в файл, вам необходимо прикрепить к этому источнику обработчик журнала, который настроен на запись выходных данных в файл.
Плагин zeep, используемый для регистрации, удаляет конфиденциальные данные из своих выходных данных. Если вы хотите, чтобы эти данные были включены в журналы, вам необходимо реализовать собственный простой плагин для журналирования. Например:
класс DangerousZeepLogger(zeep.Plugin): def ingress(self, конверт, http_headers, операция):logging.debug('Входящий ответ: n%s', etree.tostring(envelope, Pretty_print=True))возврат конверта, http_headers def egress(self, Convert, http_headers, Operation, Biding_options):logging.debug('Входящий ответ: n%s', etree.tostring(envelope, Pretty_print=True)) return конверт, http_headersad_manager_client.zeep_client.plugins.append(DangerousZeepLogger ())
По умолчанию клиенты кэшируются, поскольку чтение и обработка WSDL могут быть дорогостоящими. Однако метод кэширования по умолчанию требует разрешения на доступ к локальной файловой системе, которая может быть недоступна в определенных средах хостинга, таких как App Engine.
Вы можете передать реализацию zeep.cache.Base
инициализатору AdManagerClient
чтобы изменить поведение кэширования по умолчанию.
Например, настройка другого местоположения и продолжительности файла кэша с помощью zeep.
doc_cache = zeep.cache.SqliteCache(path=cache_path)ad_manager_client = ad_manager.AdManagerClient( oauth2_client, application_name, network_code=network_code, кэш=doc_cache)
Вы также можете отключить кеширование аналогичным образом с помощью zeep.
ad_manager_client = ad_manager.AdManagerClient( oauth2_client, application_name, network_code=network_code, кэш=googleads.common.ZeepServiceProxy.NO_CACHE)
Эта библиотека поддерживает только Python 3.7+.
- httplib2 -- https://pypi.python.org/pypi/httplib2/ - oauth2client -- https://pypi.python.org/pypi/oauth2client/ - pysocks -- https://pypi.python.org/pypi/PySocks/ - pytz -- https://pypi.python.org/pypi/pytz - pyYAML -- https://pypi.python.org/pypi/pyYAML/ - xmltodict -- https://pypi.python.org/pypi/xmltodict/ - zeep -- https://pypi.python.org/pypi/zeep - mock -- https://pypi.python.org/pypi/mock (only needed to run unit tests) - pyfakefs -- https://pypi.python.org/pypi/pyfakefs (only needed to run unit tests)
Mark Saniscalchi David Wihl Ben Karl