JSON Eşlemeleri

Google Ads API'nin REST arayüzünü kullanırken Google Ads API'nin .proto tanımlayıcı dosyalarında tanımlanan kaynakların ve türlerin JSON temsilleriyle çalışırsınız. JSON kodlama şeması, protokol arabelleklerinin Dil Kılavuzu'nun JSON Eşleme bölümünde açıklanan standart kodlama şemasını izler.

Genel olarak, hizmetlere gönderilen ve hizmetlerden gelen tüm üst düzey mesajlar tek bir JSON nesnesidir. Çoğu değiştirme isteği, kendi içinde birçok operations, update veya delete işlemi içeren bir create dizisi içerir. Benzer şekilde, search yanıtları, sorgunuzun sonuç kümesini içeren bir results dizisi içeren JSON nesneleridir.

Tanımlayıcılar, protokol arabelleklerinde snake_case'ten JSON'da lowerCamelCase'e dönüştürülür. Bu kuralın önemli bir istisnası, Google Ads Sorgu Dili sorguları göndermek için search veya searchStream kullanılırken geçerlidir. Sorgu dili, hangi arayüzü kullandığınıza bakılmaksızın alt çizgili yazım kullanır. Ancak REST'teki bir sorgunun sonuçları normal JSON nesneleri olarak döndürülür ve tanımlayıcıları lowerCamelCase biçimindedir.

Örneğin, bir hesaptaki etkin anahtar kelimelerin listesini getirme sorgusunda sorgunun kendisinde snake case kullanılır (ad_group_criterion, adGroupCriterion değil):

POST /v21/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'"
}

Ancak yanıt, nesnelerin JSON gösterimidir (bu istekte searchStream kullanıldığından JSON dizisine sarılır) ve bunun yerine camelCase tanımlayıcısını adGroupCriterion kullanır:

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