تعيينات JSON

عند استخدام واجهة REST في Search Ads 360 Reporting API، يعني ذلك أنّك تعمل باستخدام تمثيلات JSON للموارد والأنواع نفسها المحدّدة في ملفات .proto descriptor في Search Ads 360 Reporting API. يتّبع مخطّط ترميز JSON مخطّط الترميز الرسمي الموضّح في القسم تعيين JSON من دليل لغة ملفّات تخزين مؤقت للبروتوكول.

بوجه عام، جميع الرسائل من المستوى الأعلى المُرسَلة إلى الخدمات والمُرسَلة منها هي كائنات JSON فردية. search ردّ هي عناصر JSON تحتوي على مصفوفة results مع مجموعة نتائج طلب البحث.

يتم تحويل المعرّفات من snake_case (في بروتوكول Buffers) إلى lowerCamelCase في JSON. من الملاحظات المهمة لهذه القاعدة أنّه عند استخدام search أو searchStream لإرسال طلبات بحث لغة طلبات البحث في إعلانات شبكة البحث 360. تستخدم لغة طلب البحث نفسها تنسيق snake case، بغض النظر عن الواجهة التي تستخدمها. ومع ذلك، يتم عرض نتائج طلب البحث في REST على هيئة عناصر JSON عادية وتتضمّن معرّفاتها تنسيق lowerCamelCase.

على سبيل المثال، يستخدم طلب البحث لجلب قائمة بالكلمات الرئيسية النشطة في حساب حالة الثعبان داخل طلب البحث نفسه (ad_group_criterion، وليس adGroupCriterion):

POST /v0/customers/CUSTOMER_ID/searchAds360:searchStream HTTP/1.1
Host: searchads360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_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) وتستخدم معرّف camelCase adGroupCriterion بدلاً من ذلك:

[
  {
    "results": [
      {
        "adGroupCriterion": {
          "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060",
          "keyword": {
            "text": "pay per click"
          }
        }
      },
      ...
    ]
  }
]