Gdy korzystasz z interfejsu REST Google Ads API, pracujesz z reprezentacjami JSON tych samych zasobów i typów, które są zdefiniowane w plikach deskryptorów.proto Google Ads API. Schemat kodowania JSON jest zgodny z kanonicznym schematem kodowania opisanym w sekcji Mapowanie JSON w przewodniku po języku buforów protokołu .
Ogólnie rzecz biorąc, wszystkie wiadomości najwyższego poziomu wysyłane do i z
usług są pojedynczymi obiektami JSON.
Większość żądań modyfikacji zawiera tablicę operations, która sama zawiera wiele operacji create, update lub delete. Podobnie odpowiedzi search są obiektami JSON zawierającymi tablicę results z zestawem wyników zapytania.
Identyfikatory są przekształcane z snake_case (w buforach protokołu) na
lowerCamelCase w formacie JSON. Jednym z wyjątków od tej reguły jest używanie
search lub searchStream do wysyłania zapytań w języku zapytań Google Ads. Sam język zapytań używa snake case niezależnie od tego, z którego interfejsu korzystasz. Wyniki zapytania w REST są jednak zwracane jako zwykłe obiekty JSON, a ich identyfikatory są zapisywane w formacie lowerCamelCase.
Na przykład zapytanie o pobranie listy aktywnych słów kluczowych na koncie używa w samym zapytaniu snake case (ad_group_criterion, a nie adGroupCriterion):
POST /v26/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN { "query": "SELECT ad_group_criterion.keyword.text FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'" }
Odpowiedź jest jednak reprezentacją JSON obiektów (zawartą w tablicy JSON, ponieważ to żądanie używa searchStream) i zamiast tego używa identyfikatora camelCase adGroupCriterion:
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]