تعيينات JSON

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

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

يتم تحويل المعرّفات من snake_case (في آليات سلسلة البيانات المنظَّمة) إلى 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"
          }
        }
      },
      ...
    ]
  }
]