توفّر Google مكتبة برامج Python للتفاعل مع Ad Manager API. ننصح باستخدام مكتبة العميل مع PyPI.
للبدء، أنشئ مشروعًا جديدًا في بيئة التطوير المتكاملة التي تختارها أو أضِف
التبعية إلى مشروع حالي. تنشر 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 (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.
تسجيل طلبات HTTP والردود عليها
تستخدم مكتبة برامج Python مكتبة logging العادية في Python لتسجيل طلبات 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)
معالجة الأخطاء
توسّع جميع أخطاء واجهة برمجة التطبيقات الصنف الأساسي 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.