Quando utilizzi l'interfaccia REST dell'API Google Ads, lavori con rappresentazioni JSON delle stesse risorse e degli stessi tipi definiti nei file descrittori.proto dell'API Google Ads. Lo schema di codifica JSON segue lo schema di codifica canonico descritto nella sezione Mappatura JSON della Guida alla lingua dei buffer di protocollo.
In generale, tutti i messaggi di primo livello da e verso i
servizi sono singoli oggetti JSON.
La maggior parte delle richieste di modifica contiene un array operations
che contiene a sua volta molte operazioni create
, update
o delete
. Analogamente, le risposte search
sono
oggetti JSON contenenti un array results
con il set di risultati della query.
Gli identificatori vengono trasformati da snake_case (nei buffer di protocollo) in
lowerCamelCase in JSON. Un'eccezione importante a questa regola è l'utilizzo di search
o searchStream
per inviare query in linguaggio di query di Google Ads. Il linguaggio di query stesso utilizza il snake case, indipendentemente dall'interfaccia in uso. Tuttavia, i risultati di una query in REST vengono restituiti come normali oggetti JSON e i relativi identificatori sono in lowerCamelCase.
Ad esempio, una query per recuperare un elenco di parole chiave attive in un account utilizza la notazione a lettere minuscole all'interno della query stessa (ad_group_criterion
, non adGroupCriterion
):
POST /v19/customers/CUSTOMER_ID /googleAds:searchStream HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: BearerACCESS_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'" }
Tuttavia, la risposta è una rappresentazione JSON degli oggetti (racchiusi in un array JSON poiché questa richiesta utilizza searchStream
) e utilizza l'identificatore camelCase
adGroupCriterion
:
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]