تعيينات JSON

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

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

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

على سبيل المثال، يستخدم طلب البحث لجلب قائمة بالكلمات الرئيسية النشطة في حساب ما تنسيق snake case داخل طلب البحث نفسه (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"
          }
        }
      },
      ...
    ]
  }
]