عند استخدام واجهة REST في Google Ads API، فإنّك تعمل باستخدام JSON. نفس الموارد والأنواع المحددة في بيانات .proto descriptor. يتبع مخطط ترميز JSON مخطط الترميز الأساسي الموضح في قسم تعيين JSON في البروتوكول دليل اللغة للمستودعات الاحتياطية.
وبشكل عام، يتم نقل جميع الرسائل ذات المستوى الأعلى من وإلى
الخدمات هي كائنات JSON فردية.
تحتوي معظم طلبات التغيير على مصفوفة operations
تحتوي بحد ذاتها على العديد من الطلبات
العمليات create
أو update
أو delete
. بالمثل، search
رد
كائنات JSON تحتوي على مصفوفة results
مع مجموعة نتائج طلب البحث.
يتم تحويل المعرّفات من snake_case (في المخازن المؤقتة للبروتوكول) إلى
lowerCamelCase بتنسيق JSON. يتمثل أحد التنبيهات البارزة لهذه القاعدة عند استخدام
search
أو searchStream
لإرسال لغة طلب البحث في "إعلانات Google"
طلبات البحث. تستخدم لغة الاستعلام نفسها حالة الثعبان، بغض النظر عن
التي تستخدمها. ومع ذلك، يتم عرض نتائج استعلام في REST كـ
كائنات JSON العادية ولها معرّفاتها في LowCamelCase.
على سبيل المثال، يستخدم طلب بحث لاسترجاع قائمة بالكلمات الرئيسية النشطة في حساب
حالة الثعبان داخل طلب البحث نفسه (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" } } }, ... ] } ]