JSON-Zuordnungen

Wenn Sie die REST-Schnittstelle der Google Ads API verwenden, arbeiten Sie mit JSON-Darstellungen derselben Ressourcen und Typen, die in den .proto-Deskriptordateien der Google Ads API definiert sind. Das JSON-Codierungsschema folgt dem kanonischen Codierungsschema, das im Abschnitt JSON Mapping des Language Guide für Protocol Buffers beschrieben wird.

Im Allgemeinen sind alle Nachrichten der obersten Ebene an und von Diensten einzelne JSON-Objekte. Die meisten Mutationsanfragen enthalten ein operations-Array, das selbst viele create-, update- oder delete-Vorgänge enthält. search-Antworten sind ebenfalls JSON-Objekte, die ein results-Array mit dem Ergebnissatz Ihrer Anfrage enthalten.

Kennungen werden von snake_case (in Protokollpuffern) in lowerCamelCase in JSON umgewandelt. Eine wichtige Ausnahme von dieser Regel gilt, wenn Sie search oder searchStream verwenden, um Google Ads-Abfragesprache-Abfragen zu senden. Die Abfragesprache selbst verwendet die Snake-Case-Schreibweise, unabhängig davon, welche Benutzeroberfläche Sie verwenden. Die Ergebnisse einer Anfrage in REST werden jedoch als normale JSON-Objekte zurückgegeben und haben ihre Kennzeichnungen in lowerCamelCase.

Bei einer Abfrage zum Abrufen einer Liste aktiver Keywords in einem Konto wird beispielsweise Snake Case in der Abfrage selbst verwendet (ad_group_criterion, nicht adGroupCriterion):

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'"
}

Die Antwort ist jedoch eine JSON-Darstellung der Objekte (in einem JSON-Array eingeschlossen, da in dieser Anfrage searchStream verwendet wird) und verwendet stattdessen den camelCase-Bezeichner adGroupCriterion:

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