Google یک کتابخانه کارخواه Python برای تعامل با Ad Manager API ارائه میدهد. توصیه میکنیم از کتابخانه کارخواه با PyPI استفاده کنید.
برای شروع، پروژه جدیدی در IDE انتخابیتان ایجاد کنید یا وابستگی را به پروژه موجودی اضافه کنید. Google مصنوعات کتابخانه کارخواه را در PyPI بهعنوان google-ads-admanager منتشر میکند.
requirements.txt
google-ads-admanager==0.10.7
خط فرمان
pip install google-ads-admanager
پیکربندی اعتبارنامهها
کتابخانه کارخواه Python از OAuth2 و اعتبارنامههای پیشفرض برنامه (ADC) برای اصالتسنجی استفاده میکند.
ADC بهترتیب در مکانهای زیر بهدنبال اطلاعات کاربری میگردد:
- متغیر محیطی
GOOGLE_APPLICATION_CREDENTIALS. - اعتبارنامه کاربر ازطریق Google Cloud CLI (gcloud CLI) راهاندازی شده است.
- هنگام اجرا در Google Cloud، حساب خدمات به منبع Google Cloud پیوست میشود.
برای ایجاد و پیکربندی اطلاعات اعتباری ADC، به اصالتسنجی مراجعه کنید.
اولین درخواستتان را ارسال کنید
هر سرویس دارای یک شیء ServiceClient با هر دو روش همگام و ناهمگام برای هر روش REST است. مثال زیر یک Network را بهصورت همزمان میخواند.
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)
برای نمونههای روشها و منابع دیگر، به مخزن GitHub
googleapis/google-cloud-python مراجعه کنید.
ثبت درخواستها و پاسخهای اچتیتیپی
کتابخانه کارخواه Python از کتابخانه استاندارد Python logging
برای ثبت درخواستها و پاسخهای HTTP استفاده میکند. بهطور پیشفرض، ثبت گزارش غیرفعال است.
برای فعال کردن گزارشگیری، متغیر محیطی
GOOGLE_SDK_PYTHON_LOGGING_SCOPE را تنظیم کنید. این متغیر محیطی، مدیریت رویدادهای ثبت را در سطح logging.DEBUG یا بالاتر پیکربندی میکند.
# 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
همچنین میتوانید از ماژول Python logging استفاده کنید:
import logging
from google.ads import admanager_v1
logger = logging.getLogger("google.ads.admanager_v1")
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.DEBUG)
مدیریت کردن خطاها
همه خطاهای API کلاس پایه GoogleAPIError را گسترش میدهند.
فیلد دلیل خطا بهطور منحصربهفرد انواع خطا را شناسایی میکند. از این فیلد برای تعیین نحوه رسیدگی به خطا استفاده کنید.
try:
network = client.get_network(request=request)
print(network)
except GoogleAPIError as e:
# Handle error
print(e.reason)
خطاهای Ad Manager API همچنین شامل یک requestId منحصربهفرد است که میتوانید برای کمک در عیبیابی به پشتیبانی ارائه دهید. مثال زیر
requestId را از 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'])
پیکربندی تنظیمات پروکسی
کتابخانه کارخواه Python از تنظیمات متغیر محیطی http_proxy
و https_proxy پیروی میکند.