Mappages JSON

Le format JSON est utilisé dans l'interface REST de l'API Google Ads. des ressources et des types définis dans le tableau de bord Fichiers descripteurs.proto. Le schéma d'encodage JSON suit le schéma de codage canonique décrit dans Section Mappage JSON du protocole tampons Guide du langage.

En général, tous les messages de premier niveau services sont des objets JSON uniques. La plupart des requêtes mutate contiennent un tableau operations contenant lui-même de nombreuses requêtes. Opérations create, update ou delete. De même, les réponses search sont Objets JSON contenant un tableau results avec l'ensemble de résultats de votre requête

Transformation des identifiants snake_case (dans les tampons de protocole) en lowerCamelCase au format JSON. L'une des mises en garde notables concernant cette règle est que, search ou searchStream pour envoyer le langage de requête Google Ads requêtes. Le langage de requête lui-même utilise le snake case, quel que soit le que vous utilisez. Cependant, les résultats d'une requête dans REST sont renvoyés sous la forme des objets JSON normaux et dont les identifiants sont en minuscule CamelCase.

Par exemple, une requête visant à récupérer une liste de mots clés actifs dans un compte utilise snake case à l'intérieur de la requête elle-même (ad_group_criterion, et non 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'"
}

Cependant, la réponse est une représentation JSON des objets (encapsulée dans un fichier JSON car cette requête utilise searchStream) et utilise l'identifiant camelCase adGroupCriterion à la place:

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