JSON-Zuordnungen

Bei Verwendung der REST-Schnittstelle der Google Ads API arbeiten Sie mit JSON. Darstellung derselben Ressourcen und Typen, die in den .proto descriptor-Dateien. Das JSON-Codierungsschema folgt der kanonischen Codierungsschema, das im Abschnitt JSON-Zuordnung des Protokolls speichert den Language Guide.

Im Allgemeinen werden alle Nachrichten der obersten Ebene an und von Dienste sind einzelne JSON-Objekte. Die meisten mutate-Anfragen enthalten ein operations-Array, das wiederum viele create-, update- oder delete-Vorgänge. Gleichermaßen sind search-Antworten JSON-Objekte, die ein results-Array mit dem Ergebnissatz Ihrer Abfrage enthalten.

Kennungen werden von snake_case (in Protokollzwischenspeichern) in lowerCamelCase im JSON-Format. Ein wichtiger Nachteil bei dieser Regel ist die Verwendung von search oder searchStream zum Senden der Google Ads Query Language Abfragen. Die Abfragesprache selbst verwendet Snake Case, unabhängig davon, die Sie verwenden. Die Ergebnisse einer Abfrage in REST werden jedoch als JSON-Objekte zu verwenden, deren IDs in CamelCase-Schreibweise mit kleinem Anfangsbuchstaben angegeben sind.

Eine Abfrage zum Abrufen einer Liste aktiver Keywords in einem Konto verwendet beispielsweise Snake-Case innerhalb der Abfrage selbst (ad_group_criterion, nicht 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'"
}

Die Antwort ist jedoch eine JSON-Darstellung der Objekte, die in eine JSON-Datei Array, da diese Anfrage searchStream verwendet) und die CamelCase-Kennung verwendet. adGroupCriterion:

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