نقشه برداری JSON

هنگام استفاده از رابط REST Search Ads 360 Reporting API، با بازنمایی JSON از همان منابع و انواع تعریف شده در فایل‌های توصیف‌گر .proto در Search Ads 360 Reporting API کار می‌کنید. طرح رمزگذاری JSON از طرح رمزگذاری متعارف شرح داده شده در بخش نقشه برداری JSON از راهنمای زبان بافرهای پروتکل پیروی می کند.

به طور کلی، تمام پیام‌های سطح بالا به و از سرویس‌ها ، اشیاء تک JSON هستند. پاسخ‌های search ، اشیاء JSON هستند که حاوی یک آرایه results با مجموعه نتایج جستجوی شما هستند.

شناسه ها از snake_case (در بافرهای پروتکل) به lowCamelCase در JSON تبدیل می شوند. یکی از اخطارهای قابل توجه در مورد این قانون هنگام استفاده از search یا searchStream برای ارسال جستجوهای Search Ads 360 Query Language است. خود زبان پرس و جو از snake case استفاده می کند، صرف نظر از اینکه از کدام رابط استفاده می کنید. با این حال، نتایج یک پرس و جو در REST به عنوان اشیاء JSON معمولی برگردانده می شوند و شناسه های خود را در lowCamelCase دارند.

به عنوان مثال، یک پرس و جو برای واکشی لیستی از کلمات کلیدی فعال در یک حساب، از حروف snake در داخل خود درخواست استفاده می کند ( 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"
          }
        }
      },
      ...
    ]
  }
]