Python

Google udostępnia bibliotekę klienta Python do interakcji z interfejsem API Ad Managera. Zalecamy używanie biblioteki klienta z PyPI.

Aby rozpocząć, utwórz nowy projekt w wybranym IDE lub dodaj zależność do istniejącego projektu. Google publikuje artefakty biblioteki klienta w PyPI jako google-ads-admanager.

requirements.txt

google-ads-admanager==0.10.5

Wiersz poleceń

pip install google-ads-admanager

Konfigurowanie danych logowania

Biblioteka klienta Pythona do uwierzytelniania używa protokołu OAuth2 i domyślnego uwierzytelniania aplikacji (ADC).

ADC szuka danych logowania w kolejności w tych lokalizacjach:

  1. GOOGLE_APPLICATION_CREDENTIALS zmienna środowiskowa.
  2. Dane logowania użytkownika skonfigurowane za pomocą interfejsu wiersza poleceń Google Cloud (gcloud CLI).
  3. Gdy usługa jest uruchomiona w Google Cloud, jest to konto usługi dołączone do zasobu Google Cloud.

Informacje o tworzeniu i konfigurowaniu danych logowania ADC znajdziesz w sekcji Uwierzytelnianie.

Przesyłanie pierwszej prośby

Każda usługa ma obiekt ServiceClient z metodami synchronicznymi i asynchronicznymi dla każdej metody REST. W tym przykładzie odczytujemy Network synchronicznie.



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)

Przykłady innych metod i zasobów znajdziesz w repozytorium GitHub googleapis/google-cloud-python.

Logowanie żądań i odpowiedzi HTTP

Biblioteka klienta w Pythonie używa standardowej biblioteki Pythona logging do rejestrowania żądań i odpowiedzi HTTP. Domyślnie rejestrowanie jest wyłączone.

Aby włączyć rejestrowanie, ustaw zmienną środowiskową GOOGLE_SDK_PYTHON_LOGGING_SCOPE. Ta zmienna środowiskowa konfiguruje obsługę zdarzeń logowania na poziomie logging.DEBUG lub wyższym.

# 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

Możesz też użyć modułu logging w Pythonie:

import logging

from google.ads import admanager_v1

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

Obsługuj błędy

Wszystkie błędy API rozszerzają klasę bazową GoogleAPIError.

Pole przyczyny błędu jednoznacznie identyfikuje typy błędów. Użyj tego pola, aby określić sposób obsługi błędu.

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

Błędy interfejsu API Ad Managera zawierają też unikalny requestId, który możesz przekazać zespołowi pomocy, aby uzyskać pomoc w rozwiązywaniu problemów. Poniższy przykład wyodrębnia requestId z 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'])

Konfigurowanie ustawień serwera proxy

Biblioteka klienta Python uwzględnia ustawienia zmiennych środowiskowych http_proxyhttps_proxy.