أدوات الحصول على الخدمة والأنواع

استرجاع مراجع لجميع فئات النماذج الأوّلية المختلفة المطلوبة لاستخدام واجهة برمجة التطبيقات في يمكن أن تكون لغة بايثون مطولة وتتطلب منك فهمًا جوهريًا واجهة برمجة التطبيقات أو تبديل السياق بشكل متكرر للإشارة إلى النماذج الأوّلية أو المستندات

طريقة get_service وget_type للعميل

تتيح لك طريقتا الإحضار هاتين استرداد أي خدمة أو نوع كائن في واجهة برمجة التطبيقات. يتم استخدام الطريقة get_service لاسترداد برامج الخدمة. get_type ولكن مع أي كائن آخر. فئات عملاء الخدمة محدّدة في الرمز البرمجي أسفل مسار الإصدار google/ads/googleads/v*/services/services/ وجميع الأنواع ضمن فئات الكائنات المختلفة، google/ads/googleads/v*/common|enums|errors|resources|services/types/ يتم إنشاء كافة التعليمات البرمجية الموجودة أسفل دليل الإصدار، لذا من الأفضل ممارسة على استخدام هذه الطرق بدلاً من استيراد الكائنات مباشرةً، في حالة يتغير هيكل قاعدة التعليمات البرمجية.

في ما يلي مثال على كيفية استخدام طريقة get_service لاسترداد مثيل لعميل GoogleAdsService.

from google.ads.googleads.client import GoogleAdsClient

# "load_from_storage" loads your API credentials from disk so they
# can be used for service initialization. Providing the optional `version`
# parameter means that the v17 version of GoogleAdsService will
# be returned.
client = GoogleAdsClient.load_from_storage(version="v17")
googleads_service = client.get_service("GoogleAdsService")

في ما يلي مثال على كيفية استخدام طريقة get_type لاسترداد مثيل Campaign.

from google.ads.googleads.client import GoogleAdsClient

client = GoogleAdsClient.load_from_storage(version="v17")
campaign = client.get_type("Campaign")

عمليات التعداد

في حين يمكنك استخدام طريقة get_type لاسترداد قيم التعداد، يحتوي مثيل GoogleAdsClient أيضًا على السمة enums التي تستخدم تُحمِّل Enums باستخدام الآلية نفسها المتّبعة في طريقة get_type. هذه الواجهة أن تكون أبسط وأسهل في القراءة من استخدام get_type:

client = GoogleAdsClient.load_from_storage(version=v17)

campaign = client.get_type("Campaign")
campaign.status = client.enums.CampaignStatusEnum.PAUSED

يتم تمثيل حقول كائنات Proto التي هي عبارة عن تعدادات في بايثون بواسطة enum. هذا يعني أنك قراءة قيمة العضو بسهولة. التعامل مع المثيل "campaign" من المثال السابق في حلقة Repl Python:

>>> print(campaign.status)
CampaignStatus.PAUSED
>>> type(campaign.status)
<enum 'CampaignStatus'>
>>> print(campaign.status.value)
3

يكون من المفيد أحيانًا معرفة اسم الحقل الذي يتوافق مع قيمة التعداد كما هو موضح أعلاه. يمكنك الوصول إلى هذه المعلومات باستخدام name السمة:

>>> print(campaign.status.name)
'PAUSED'
>>> type(campaign.status.name)
<class 'str'>

يختلف التفاعل مع التعدادات اعتمادًا على ما إذا كان لديك use_proto_plus تم ضبط الإعدادات على true أو false. للحصول على تفاصيل عن الواجهتين، يمكنك الاطّلاع على مستندات رسائل Protobuf.

تحديد الإصدارات

ويتم الاحتفاظ بإصدارات متعددة من واجهة برمجة التطبيقات في الوقت نفسه. بينما قد يكون v17 هو الإصدار الأحدث، ولا تزال الإصدارات السابقة الوصول إليها حتى غروب الشمس. ستحتوي المكتبة على نموذج أولي منفصل وفئات الرسائل التي تتوافق مع كل إصدار نشط من إصدارات واجهة برمجة التطبيقات. للوصول إلى رسالة فئة لإصدار معين توفر معلمة الكلمة الرئيسية version عند في تهيئة عميل بحيث يعرض دائمًا مثيل من ذلك المحدد :الإصدار:

client = GoogleAdsService.load_from_storage(version="/google-ads/api/reference/rpc/v17/")
# The Campaign instance will be from the v17 version of the API.
campaign = client.get_type("Campaign")

ومن الممكن أيضًا تحديد الإصدار عند طلب get_service get_type طريقة سيؤدي القيام بذلك إلى إلغاء الإصدار المقدم لإعداد العميل:

client = GoogleAdsService.load_from_storage()
# This will load the v17 version of the GoogleAdsService.
googleads_service = client.get_service(
    "GoogleAdsService", version="v17")

client = GoogleAdsService.load_from_storage(version="v17")
# This will load the v15 version of a Campaign.
campaign = client.get_type("Campaign", version="v15")

إذا لم يتم توفير مَعلمة version للكلمات الرئيسية، ستستخدم المكتبة تلقائيًا أحدث إصدار. قائمة معدَّلة بأحدث الإصدارات وغيرها من الإصدارات المتوفّرة في قسم التنقل الأيمن من الصفحة مرجع واجهة برمجة التطبيقات