تعمل مكتبة العملاء هذه على تبسيط عملية الوصول إلى Google Ad Manager SOAP API. توفر المكتبة طرقًا سهلة لتخزين المصادقة الخاصة بك وإنشاء عملاء خدمة ويب SOAP. كما يحتوي أيضًا على رمز نموذجي لمساعدتك في بدء التكامل مع واجهات برمجة التطبيقات الخاصة بنا.
تحميل وتثبيت المكتبة
تُعد أدوات الإعداد شرطًا أساسيًا لتثبيت مكتبة Googleads
يوصى بتثبيت المكتبة وتبعياتها من PyPI باستخدام النقطة. يمكن تحقيق ذلك بأمر واحد:
$ pip install googleads
وكبديل، يمكنك تنزيل المكتبة على شكل كرة قطران. لبدء التثبيت، انتقل إلى الدليل الذي يحتوي على مكتبة العميل التي تم فك ضغطها وقم بتشغيل البرنامج النصي "setup.py" كما يلي:
$ python setup.py build install
انسخ ملف googleads.yaml إلى الدليل الرئيسي لديك.
سيتم استخدام هذا لتخزين بيانات الاعتماد والإعدادات الأخرى التي يمكن تحميلها لتهيئة العميل.
قم بإعداد بيانات اعتماد OAuth2 الخاصة بك
تستخدم واجهة برمجة تطبيقات مدير الإعلانات OAuth2 كمصادقة
آلية. اتبع الدليل المناسب أدناه بناءً على حالة الاستخدام الخاصة بك.
إذا كنت تصل إلى واجهة برمجة التطبيقات (API) باستخدام بيانات الاعتماد الخاصة بك...
إذا كنت تصل إلى واجهة برمجة التطبيقات (API) نيابةً عن العملاء...
تطوير تطبيق ويب (مدير الإعلانات)
باستخدام مدير الإعلانات
يمكنك العثور على أمثلة التعليمات البرمجية لأحدث إصدارات مدير الإعلانات في صفحة الإصدارات.
وبدلاً من ذلك، يمكنك العثور على نماذج مدير الإعلانات في دليل الأمثلة لهذا المستودع.
من الممكن تخزين معلومات مصادقة API الخاصة بك مؤقتًا. تتضمن المكتبة ملفًا نموذجيًا يوضح كيفية القيام بذلك باسم googleads.yaml
. املأ الحقول الخاصة بواجهة برمجة التطبيقات (API) والميزات التي تخطط لاستخدامها. تقوم أساليب LoadFromStorage
الخاصة بالمكتبة افتراضيًا بالبحث عن ملف بهذا الاسم في دليلك الرئيسي، ولكن يمكنك تمرير مسار إلى أي ملف يحتوي على محتويات yaml الصحيحة.
# استخدم الموقع الافتراضي - دليلك الرئيسي:ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage()# بدلا من ذلك، قم بتمرير موقع الملف:ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage('C:MyDirectorygoogleads.yaml')
إذا كانت لديك مشكلات تتعلق مباشرة بمكتبة العميل، فاستخدم أداة تعقب المشكلات.
إذا كانت لديك مشكلات تتعلق بواجهة برمجة تطبيقات معينة، فاستخدم منتديات دعم المنتج:
مدير الإعلانات
تستخدم المكتبة إطار عمل التسجيل المدمج في Python. يمكنك تحديد التكوين الخاص بك عبر ملف التكوين؛ راجع googleads.yaml للحصول على مثال.
وبدلاً من ذلك، يمكنك تحديد تكوين التسجيل الخاص بك يدويًا. على سبيل المثال، إذا كنت تريد تسجيل تفاعلات SOAP الخاصة بك إلى stdout، وكنت تستخدم مكتبة Zeep Soap، فيمكنك القيام بما يلي:
logging.basicConfig(level=logging.INFO, format=googleads.util.LOGGER_FORMAT)logging.getLogger('googleads.soap').setLevel(logging.DEBUG)
إذا كنت ترغب في تسجيل الدخول إلى ملف، فستحتاج إلى إرفاق معالج السجل بهذا المصدر الذي تم تكوينه لكتابة الإخراج إلى ملف.
يقوم البرنامج المساعد zeep المستخدم للتسجيل بإزالة البيانات الحساسة من مخرجاته. إذا كنت ترغب في تضمين هذه البيانات في السجلات، فسوف تحتاج إلى تنفيذ البرنامج المساعد للتسجيل البسيط الخاص بك. على سبيل المثال:
فئة DangerousZeepLogger(zeep.Plugin): تعريف الدخول (self,envelope, http_headers, Operation):logging.debug('الاستجابة الواردة: n%s', etree.tostring(envelope, beautiful_print=True)) إرجاع المغلف، http_headers Def egress(self,envelope, http_headers, Operation, Binding_options):logging.debug('الاستجابة الواردة: n%s', etree.tostring(envelope, Pretty_print=True))مغلف الإرجاع، http_headersad_manager_client.zeep_client.plugins.append(DangerousZeepLogger) ())
بشكل افتراضي، يتم تخزين العملاء مؤقتًا لأن قراءة WSDL واستيعابها يمكن أن يكون مكلفًا. ومع ذلك، تتطلب طريقة التخزين المؤقت الافتراضية إذنًا للوصول إلى نظام ملفات محلي قد لا يكون متاحًا في بيئات استضافة معينة مثل App Engine.
يمكنك تمرير تطبيق zeep.cache.Base
إلى مُهيئ AdManagerClient
لتعديل سلوك التخزين المؤقت الافتراضي.
على سبيل المثال، تكوين موقع ومدة مختلفة لملف ذاكرة التخزين المؤقت باستخدام zeep
doc_cache = zeep.cache.SqliteCache(path=cache_path)ad_manager_client = ad_manager.AdManagerClient( oauth2_client, application_name,network_code=network_code,cache=doc_cache)
يمكنك أيضًا تعطيل التخزين المؤقت بطريقة مماثلة باستخدام zeep
ad_manager_client = ad_manager.AdManagerClient( oauth2_client, application_name,network_code=network_code,cache=googleads.common.ZeepServiceProxy.NO_CACHE)
هذه المكتبة تدعم فقط Python 3.7+.
- httplib2 -- https://pypi.python.org/pypi/httplib2/ - oauth2client -- https://pypi.python.org/pypi/oauth2client/ - pysocks -- https://pypi.python.org/pypi/PySocks/ - pytz -- https://pypi.python.org/pypi/pytz - pyYAML -- https://pypi.python.org/pypi/pyYAML/ - xmltodict -- https://pypi.python.org/pypi/xmltodict/ - zeep -- https://pypi.python.org/pypi/zeep - mock -- https://pypi.python.org/pypi/mock (only needed to run unit tests) - pyfakefs -- https://pypi.python.org/pypi/pyfakefs (only needed to run unit tests)
Mark Saniscalchi David Wihl Ben Karl