نگاشت‌های 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"
          }
        }
      },
      ...
    ]
  }
]