Essa biblioteca cliente simplifica o acesso à API SOAP do Google Ad Manager. A biblioteca fornece maneiras fáceis de armazenar sua autenticação e criar clientes de serviços web SOAP. Ele também contém código de exemplo para ajudá-lo a começar a integração com nossas APIs.
Baixe e instale a biblioteca
setuptools é um pré-requisito para instalar a biblioteca googleads
É recomendado que você instale a biblioteca e suas dependências do PyPI usando pip. Isso pode ser feito com um único comando:
$ pip install googleads
Como alternativa, você pode baixar a biblioteca como um tarball. Para iniciar a instalação, navegue até o diretório que contém a biblioteca cliente descompactada baixada e execute o script "setup.py" da seguinte forma:
$ python setup.py build install
Copie o arquivo googleads.yaml para seu diretório inicial.
Isso será usado para armazenar credenciais e outras configurações que podem ser carregadas para inicializar um cliente.
Configure suas credenciais OAuth2
A API Ad Manager usa OAuth2 como autenticação
mecanismo. Siga o guia apropriado abaixo com base no seu caso de uso.
Se você estiver acessando uma API usando suas próprias credenciais...
Se você estiver acessando uma API em nome de clientes...
Desenvolvendo um aplicativo da web (Ad Manager)
Usando o Gerenciador de anúncios
Você pode encontrar exemplos de código das versões mais recentes do Ad Manager na página de lançamentos.
Como alternativa, você pode encontrar exemplos do Ad Manager no diretório de exemplos deste repositório.
É possível armazenar em cache suas informações de autenticação de API. A biblioteca inclui um arquivo de amostra que mostra como fazer isso chamado googleads.yaml
. Preencha os campos da API e dos recursos que você planeja usar. Os métodos LoadFromStorage
da biblioteca procuram por padrão um arquivo com este nome em seu diretório inicial, mas você pode passar um caminho para qualquer arquivo com o conteúdo yaml correto.
# Use o local padrão - seu diretório inicial:ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage()# Alternativamente, passe o local do arquivo:ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage('C:MyDirectorygoogleads.yaml')
Se você tiver problemas diretamente relacionados à biblioteca cliente, use o rastreador de problemas.
Se você tiver problemas relacionados a uma API específica, use os fóruns de suporte do produto:
Gerenciador de anúncios
A biblioteca usa a estrutura de registro integrada do Python. Você pode especificar sua configuração através do arquivo de configuração; veja googleads.yaml para ver um exemplo.
Alternativamente, você pode especificar manualmente sua configuração de log. Por exemplo, se quiser registrar suas interações SOAP no stdout e estiver usando a biblioteca Zeep Soap, você pode fazer o seguinte:
logging.basicConfig(level=logging.INFO, format=googleads.util.LOGGER_FORMAT)logging.getLogger('googleads.soap').setLevel(logging.DEBUG)
Se desejar registrar em um arquivo, você precisará anexar um manipulador de log a esta fonte que está configurado para gravar a saída em um arquivo.
O plugin zeep usado para registrar remove dados confidenciais de sua saída. Se quiser que esses dados sejam incluídos nos logs, você precisará implementar seu próprio plug-in de log simples. Por exemplo:
classe DangerousZeepLogger (zeep.Plugin): def ingress (self, envelope, http_headers, operação):logging.debug ('Resposta recebida: n% s', etree.tostring (envelope, pretty_print = True)) envelope de retorno, http_headers def egress(self, envelope, http_headers, operação, binding_options):logging.debug('Resposta recebida: n%s', etree.tostring(envelope, pretty_print=True))envelope de retorno, http_headersad_manager_client.zeep_client.plugins.append(DangerousZeepLogger ())
Por padrão, os clientes são armazenados em cache porque a leitura e a digestão do WSDL podem ser caras. No entanto, o método de armazenamento em cache padrão requer permissão para acessar um sistema de arquivos local que pode não estar disponível em determinados ambientes de hospedagem, como o App Engine.
Você pode passar uma implementação de zeep.cache.Base
para o inicializador AdManagerClient
para modificar o comportamento de cache padrão.
Por exemplo, configurando um local e duração diferentes do arquivo de cache com zeep
doc_cache = zeep.cache.SqliteCache(path=cache_path)ad_manager_client = ad_manager.AdManagerClient(oauth2_client, application_name, network_code=network_code, cache=doc_cache)
Você também pode desabilitar o cache de maneira semelhante com zeep
ad_manager_client = ad_manager.AdManagerClient(oauth2_client, application_name, network_code=network_code, cache=googleads.common.ZeepServiceProxy.NO_CACHE)
Esta biblioteca suporta apenas 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