عند استخدام واجهة REST لواجهة Google Ads API، يعني ذلك أنّك تستخدم تمثيلات JSON للموارد والأنواع نفسها المحدّدة في ملفات .proto وصفي Google Ads API. يتبع نظام ترميز JSON مخطط الترميز الأساسي الموضّح في القسم ربط JSON في المخزن المؤقت للبروتوكولات دليل اللغة.
بوجه عام، جميع الرسائل ذات المستوى الأعلى من الخدمات وإليها هي عناصر JSON واحدة.
تحتوي معظم طلبات التبديل على صفيف operations
يتضمّن العديد من عمليات create
أو update
أو delete
. وبالمثل، تكون الردود search
هي
كائنات JSON تحتوي على مصفوفة results
مع مجموعة نتائج طلب البحث.
يتم تحويل المعرّفات من snake_case (في المخزن المؤقت للبروتوكول) إلى lowerCamelCase في ملف JSON. من التحذيرات البارزة بهذه القاعدة هو استخدام
search
أو searchStream
لإرسال طلبات بحث لغة طلب بحث "إعلانات Google". تستخدم لغة طلب البحث نفسها حالة الثعبان، بغض النظر عن الواجهة التي تستخدمها. ومع ذلك، يتم عرض نتائج طلب البحث في REST ككائنات JSON عادية وتحتوي على معرّفاتها في أدنىCamelCase.
على سبيل المثال، يستخدم طلب البحث لجلب قائمة بالكلمات الرئيسية النشطة في الحساب حالة ثعبان داخل طلب البحث نفسه (ad_group_criterion
، وليس adGroupCriterion
):
POST /v17/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "query": "SELECT ad_group_criterion.keyword.text FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'" }
ومع ذلك، تمثّل الاستجابة تمثيل JSON للعناصر (ملتفة في مصفوفة JSON لأنّ هذا الطلب يستخدم searchStream
) ويستخدم معرّف CamlCase
adGroupCriterion
بدلاً من ذلك:
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]