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ı PyPI'da google-ads-admanager olarak yayınlar.
requirements.txt
google-ads-admanager==0.10.7
Komut satırı
pip install google-ads-admanager
Kimlik bilgilerini yapılandırma
Python istemci kitaplığı, kimlik doğrulaması için OAuth2 ve Uygulama Varsayılan Kimlik Bilgileri'ni (ADC) kullanır.
ADC, kimlik bilgilerini aşağıdaki konumlarda sırayla arar:
GOOGLE_APPLICATION_CREDENTIALSortam değişkeni.- Google Cloud CLI (gcloud CLI) üzerinden ayarlanan kullanıcı kimlik bilgileri.
- 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 eşzamanlı hem de eşzamansız yöntemleri olan bir ServiceClient nesnesi bulunur. Aşağıdaki örnekte, bir Network eşzamanlı olarak okunmaktadır.
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 kaynakların örnekleri için googleapis/google-cloud-python GitHub deposuna bakın.
HTTP isteklerini ve yanıtlarını günlüğe kaydetme
Python istemci kitaplığı, HTTP isteklerini ve yanıtlarını günlüğe kaydetmek için standart Python logging kitaplığını kullanır. Günlük kaydı varsayılan olarak devre dışıdır.
Günlük kaydını etkinleştirmek için GOOGLE_SDK_PYTHON_LOGGING_SCOPE ortam değişkenini ayarlayın. Bu ortam değişkeni, logging.DEBUG 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ü de 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 şekilde tanımlar. Hatanın nasıl ele alınacağını belirlemek için bu alanı 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 sağlayabileceğiniz benzersiz bir requestId da içerir. Aşağıdaki örnekte, GoogleAPIError içinden requestId ayıklanmaktadı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ına uyar.