Python

Google, Ad Manager API ile etkileşim kurmak için bir Python istemci kitaplığı sağlar. İstemci kitaplığını PyPI ile kullanmanızı öneririz.

Başlamak için tercih ettiğiniz IDE'de yeni bir proje oluşturun veya bağımlılığı mevcut bir projeye ekleyin. Google, istemci kitaplığı yapılarını google-ads-admanager olarak PyPI'ye yayınlar.

requirements.txt

google-ads-admanager==0.10.4

Komut satırı

pip install google-ads-admanager

Kimlik bilgilerini yapılandırma

Python istemci kitaplığı, kimlik doğrulamak için OAuth2 ve Uygulama Varsayılan Kimlik Bilgileri'ni (ADC) kullanır.

ADC, kimlik bilgilerini aşağıdaki konumlarda sırayla arar:

  1. GOOGLE_APPLICATION_CREDENTIALS ortam değişkeni.
  2. Google Cloud CLI (gcloud CLI) aracılığıyla ayarlanan kullanıcı kimlik bilgileri.
  3. Google Cloud'da çalışırken Google Cloud kaynağına eklenen hizmet hesabı.

ADC kimlik bilgilerinizi oluşturma ve yapılandırma hakkında bilgi edinmek için Kimlik doğrulama başlıklı makaleyi inceleyin.

İlk isteğinizi gönderme

Her hizmette, her REST yöntemi için hem senkron hem de asenkron yöntemler içeren bir ServiceClient nesnesi bulunur. Aşağıdaki örnek, Network öğesini eşzamanlı olarak okur.



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)

Diğer yöntem ve kaynak örnekleri için GitHub deposuna googleapis/google-cloud-python bakın.

HTTP isteklerini ve yanıtlarını günlüğe kaydetme

Python istemci kitaplığı, HTTP isteklerini ve yanıtlarını kaydetmek için standart Python logging kitaplığını kullanır. Günlüğe kaydetme özelliği varsayılan olarak devre dışıdır.

Günlük kaydını etkinleştirmek için ortam değişkenini ayarlayın GOOGLE_SDK_PYTHON_LOGGING_SCOPE. Bu ortam değişkeni, logging.DEBUG düzeyinde veya daha yüksek düzeydeki günlük kaydı etkinliklerinin işlenmesini yapılandırır.

# 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

Alternatif olarak Python logging modülünü kullanabilirsiniz:

import logging

from google.ads import admanager_v1

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

Hataları işleme

Tüm API hataları, GoogleAPIError temel sınıfını genişletir.

Hata nedeni alanı, hata türlerini benzersiz bir şekilde tanımlar. Bu alanı, hatanın nasıl ele alınacağını belirlemek için kullanın.

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

Ad Manager API hataları, sorun giderme konusunda yardım almak için destek ekibine iletebileceğiniz benzersiz bir requestId de içerir. Aşağıdaki örnek, GoogleAPIError içinden requestId değerini çıkarır:

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'])

Proxy ayarlarını yapılandırma

Python istemci kitaplığı, http_proxy ve https_proxy ortam değişkeni ayarlarını dikkate alır.