Google udostępnia bibliotekę klienta w języku 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.7
Wiersz poleceń
pip install google-ads-admanager
Konfigurowanie danych logowania
Biblioteka klienta w Pythonie używa do uwierzytelniania protokołu OAuth2 i domyślnego uwierzytelniania aplikacji (ADC).
ADC wyszukuje dane uwierzytelniające w następujących lokalizacjach (w podanej kolejności):
- Zmienna środowiskowa
GOOGLE_APPLICATION_CREDENTIALS. - Dane logowania użytkownika skonfigurowane za pomocą interfejsu wiersza poleceń Google Cloud (gcloud CLI).
- Konto usługi dołączone do zasobu Google Cloud, gdy jest on uruchomiony w Google Cloud.
Informacje o tworzeniu i konfigurowaniu danych logowania ADC znajdziesz w artykule na temat uwierzytelniania.
Wysyłanie pierwszego żądania
Każda usługa ma obiekt ServiceClient z metodami synchronicznymi i asynchronicznymi dla każdej metody REST. Ten przykład odczytuje 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 logging Pythona do rejestrowania żądań i odpowiedzi HTTP. Domyślnie logowanie jest wyłączone.
Aby włączyć logowanie, 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 interfejsu API rozszerzają klasę bazową GoogleAPIError.
Pole przyczyny błędu jednoznacznie identyfikuje typy błędów. Użyj tego pola, aby określić, jak postępować w przypadku 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 identyfikator requestId, który możesz podać zespołowi pomocy, aby uzyskać pomoc w rozwiązaniu problemu. 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 w Pythonie uwzględnia ustawienia zmiennych środowiskowych http_proxy i https_proxy.