نگاشت‌های JSON

هنگام استفاده از میانای 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 Ads است. خود زبان پُرسمان از نگارش ماری استفاده می‌کند، صرف‌نظر از اینکه از کدام میانای کاربری استفاده می‌کنید. بااین‌حال، نتایج پُرسمان در REST به‌صورت اشیاء JSON معمولی برگردانده می‌شود و شناسه‌های آن‌ها در lowerCamelCase است.

برای مثال، پُرسمانی برای واکشی فهرست کلیدواژه‌های فعال در یک حساب از نگارش ماری در خود پُرسمان استفاده می‌کند (ad_group_criterion، نه adGroupCriterion):

POST /v26/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1
Host: googleads.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"
          }
        }
      },
      ...
    ]
  }
]