מיפויי JSON

כשמשתמשים בממשק REST של Google Ads API, עובדים עם JSON של אותם משאבים וסוגים שהוגדרו קובצי .proto descriptor. סכימת הקידוד של JSON מבוססת על סכימת קידוד קנונית שמתוארת הקטע מיפוי JSON של הפרוטוקול למדריך השפות במאגרי נתונים זמניים.

באופן כללי, כל ההודעות ברמה העליונה אל ומאת services הם אובייקטים של JSON יחיד. רוב בקשות השינוי מכילות מערך operations שבעצמו מכיל הרבה פעולות create, update או delete. באופן דומה, search תשובות אובייקטי JSON שמכילים מערך results עם קבוצת התוצאות של השאילתה.

המזהים הופכים מ-snake_case (במאגרי פרוטוקולים) ל- lowerCamelCase ב-JSON. אזהרה חשובה אחת לכלל הזה היא כשמשתמשים search או searchStream כדי לשלוח את שפת השאילתה ב-Google Ads שאילתות. שפת השאילתה עצמה משתמשת באותיות רישיות, ללא קשר הממשק שבו אתם משתמשים. אבל התוצאות של שאילתה ב-REST מוחזרות כך של אובייקטים רגילים של JSON עם המזהים שלהם ב-LowCamelCase.

לדוגמה, שאילתה לאחזור רשימה של מילות מפתח פעילות בחשבון משתמשת מקרה של נחש בתוך השאילתה עצמה (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) ומשתמשת במזהה CamlCase adGroupCriterion במקום זאת:

[
  {
    "results": [
      {
        "adGroupCriterion": {
          "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060",
          "keyword": {
            "text": "pay per click"
          }
        }
      },
      ...
    ]
  }
]