Google, Ad Manager API ile etkileşime geçmek 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ık öğesini mevcut bir projeye ekleyin. Google, istemci kitaplığı yapılarını google-ads-admanager
olarak PyPI'de yayınlar.
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:
GOOGLE_APPLICATION_CREDENTIALS
ortam değişkeni.- Google Cloud KSA (gcloud KSA) üzerinden ayarlanan kullanıcı kimlik bilgileri.
- Google Cloud'da çalışırken Google Cloud kaynağına bağlı hizmet hesabı.
ADC kimlik bilgilerinizi oluşturmak ve yapılandırmak için Kimlik doğrulama bölümüne bakın.
İlk isteğinizi gönderin
Her hizmetin, her REST yöntemi için hem senkron hem de asenkron yöntemler içeren bir ServiceClient
nesnesi vardır. Aşağıdaki örnekte, Network
senkronize 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 kaynaklara dair örnekler 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üğe kaydetme özelliği 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, günlük kaydı etkinliklerinin logging.DEBUG
veya daha yüksek bir düzeyde 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 bir ş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 iletebileceğiniz benzersiz bir requestId
de içerir. Aşağıdaki örnekte, bir GoogleAPIError
öğesinden requestId
öğesi ayıklanı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.