O Google oferece uma biblioteca de cliente Python para interagir com a API Ad Manager. Recomendamos o uso da biblioteca de cliente com o PyPI.
Para começar, crie um novo projeto no ambiente de desenvolvimento integrado (IDE) que você escolher ou adicione a
dependência a um projeto existente. O Google publica artefatos de biblioteca de cliente para
PyPI como google-ads-admanager
.
pip install google-ads-admanager
Configurar credenciais
A biblioteca de cliente Python usa o OAuth2 e o Application Default Credentials (ADC) para autenticação.
O ADC procura credenciais na seguinte ordem:
- variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
. - Credenciais do usuário configuradas pela CLI do Google Cloud (CLI gcloud).
- Quando executado no Google Cloud, a conta de serviço anexada ao recurso do Google Cloud.
Para criar e configurar suas credenciais do ADC, consulte Autenticação.
Faça sua primeira solicitação
Cada serviço tem um objeto ServiceClient
com métodos síncronos e assíncronos
para cada método REST. O exemplo a seguir lê um Network
de forma síncrona.
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)
Para conferir exemplos de outros métodos e recursos, consulte o repositório do GitHub
googleapis/google-cloud-python
.
Registrar solicitações e respostas HTTP
A biblioteca de cliente do Python usa a biblioteca padrão logging
do Python para registrar solicitações e respostas HTTP. Por padrão, a geração de registros fica desativada.
Para ativar a geração de registros, defina a variável de ambiente
GOOGLE_SDK_PYTHON_LOGGING_SCOPE
. Essa variável de ambiente configura o processamento de eventos de registro no nível logging.DEBUG
ou superior.
# 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
Como alternativa, use o módulo logging
do Python:
import logging
from google.ads import admanager_v1
logger = logging.getLogger("google.ads.admanager_v1")
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.DEBUG)
Solucionar erros
Todos os erros da API estendem a classe base GoogleAPIError
.
O campo "Motivo do erro" identifica de forma exclusiva os tipos de erro. Use este campo para determinar como lidar com o erro.
try:
network = client.get_network(request=request)
print(network)
except GoogleAPIError as e:
# Handle error
print(e.reason)
Os erros da API Ad Manager também incluem um requestId
exclusivo que pode ser enviado ao suporte para receber ajuda na solução de problemas. O exemplo a seguir extrai o
requestId
de um 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'])
Definir as configurações de proxy
A biblioteca de cliente do Python respeita as configurações de variáveis de ambiente http_proxy
e https_proxy
.