Jeśli używasz interfejsu REST API Google Ads, pracujesz z prezentacjami JSON tych samych zasobów i typów zdefiniowanych w plikach .proto deskryptora interfejsu Google Ads API. Schemat kodowania JSON jest zgodny ze schematem kodowania kanonicznego opisanym w sekcji Mapowanie mapowania w Przewodniku po językach buforów protokołu.
Ogólnie wszystkie wiadomości najwyższego poziomu do i z usług są pojedynczymi obiektami JSON.
Większość żądań mutacji zawiera tablicę operations
, która zawiera wiele operacji create
, update
lub delete
. Podobnie odpowiedzi search
to obiekty JSON zawierające tablicę results
z zestawem wyników zapytania.
Identyfikatory są przekształcane z snake_case (w buforach protokołów) na lowerCamelCase w formacie JSON. Jedną z ważnych kwestii związanych z tą regułą jest używanie zapytań search
lub searchStream
do wysyłania zapytań języka zapytań Google Ads. Sam język zapytania korzysta z węża, niezależnie od używanego interfejsu. Wyniki zapytania w formacie REST są jednak zwracane jako zwykłe obiekty JSON, których identyfikatory znajdują się w dolnej części CAACase.
Na przykład zapytanie służące do pobierania listy aktywnych słów kluczowych na koncie używa wąż zapytania w samym zapytaniu (ad_group_criterion
, a nie 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'" }
Odpowiedź jest jednak reprezentacją obiektów w formacie JSON (umieszczoną w tablicy JSON, ponieważ to żądanie używa searchStream
) i zamiast tego używa identyfikatora ComelCase adGroupCriterion
:
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]