هنگام استفاده از رابط REST Google Ads API، با بازنمایی JSON از همان منابع و انواع تعریف شده در فایلهای توصیفگر .proto Google Ads API کار میکنید. طرح رمزگذاری JSON از طرح رمزگذاری متعارف شرح داده شده در بخش نقشه برداری JSON از راهنمای زبان بافرهای پروتکل پیروی می کند.
به طور کلی، تمام پیامهای سطح بالا به و از سرویسها ، اشیاء تک JSON هستند. اکثر درخواستهای جهشیافته حاوی یک آرایه operations
هستند که خود شامل بسیاری از عملیات create
، update
یا delete
. به طور مشابه، پاسخ های search
، اشیاء JSON هستند که حاوی آرایه results
با مجموعه نتایج جستجوی شما هستند.
شناسه ها از snake_case (در بافرهای پروتکل) به lowCamelCase در JSON تبدیل می شوند. یکی از اخطارهای قابل توجه در مورد این قانون زمانی است که از search
یا searchStream
برای ارسال جستجوهای زبان جستجوی Google Ads استفاده می کنید. خود زبان پرس و جو از snake case استفاده می کند، صرف نظر از اینکه از کدام رابط استفاده می کنید. با این حال، نتایج یک پرس و جو در REST به عنوان اشیاء JSON معمولی برگردانده می شوند و شناسه های خود را در lowCamelCase دارند.
به عنوان مثال، یک پرس و جو برای واکشی لیستی از کلمات کلیدی فعال در یک حساب، از حروف snake در داخل خود درخواست استفاده می کند ( ad_group_criterion
، نه adGroupCriterion
):
POST /v17/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_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" } } }, ... ] } ]