JSON मैपिंग

आपको Google Ads API के REST इंटरफ़ेस का इस्तेमाल करते समय, JSON के साथ काम करना होता है Google Ads API में बताए गए एक जैसे संसाधनों और टाइप को .proto डिस्क्रिप्टर वाली फ़ाइलें भी शामिल हैं. JSON कोड में बदलने की स्कीम, कैननिकल एन्कोडिंग स्कीम, प्रोटोकॉल का JSON मैपिंग सेक्शन बफ़र भाषा गाइड.

सामान्य रूप से, को भेजे गए और प्राप्त हुए सभी शीर्ष-स्तरीय संदेश सेवाएं एक JSON ऑब्जेक्ट होती हैं. बदलाव करने के ज़्यादातर अनुरोधों में operations कलेक्शन होता है. इसमें कई तरह के अनुरोध शामिल होते हैं create, update या delete कार्रवाइयां. इसी तरह, search जवाब हैं JSON ऑब्जेक्ट, जिनमें आपकी क्वेरी के नतीजे के सेट के साथ results कलेक्शन मौजूद है.

आइडेंटिफ़ायर को snake_case (प्रोटोकॉल बफ़र में) से बदलकर JSON में lowerCamelCase. इस नियम का एक खास चेतावनी है कि Google Ads Query Language भेजने के लिए search या searchStream क्वेरी. क्वेरी वाली भाषा में सांप के केस का इस्तेमाल किया गया है, भले ही वह किसी भी का उपयोग कर रहे हैं. हालांकि, 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"
          }
        }
      },
      ...
    ]
  }
]