Korzystając z interfejsu API REST Search Ads 360 Reporting API, pracujesz z reprezentacjami w formacie JSON tych samych zasobów i typów, które zostały określone w plikach deskryptora.proto interfejsu Search Ads 360 Reporting API. Schemat kodowania JSON jest zgodny ze schematem kodowania kanonicznego omówionego w sekcji Mapowanie JSON artykułu Language Guide dotyczącego buforów protokołów.
Ogólnie wszystkie wiadomości najwyższego poziomu do i z usług są pojedynczymi obiektami JSON. Odpowiedzi search
to obiekty JSON zawierające tablicę results
ze zbiorem wyników zapytania.
Identyfikatory są przekształcane z snake_case (w buforach protokołów) na lowerCamelCase w formacie JSON. Istotnym zastrzeżeniem jest to, że do wysyłania zapytań w języku zapytań Search Ads 360 używany jest język search
lub searchStream
. Sam język zapytań wykorzystuje wielkość liter „snake” (wąż węża) niezależnie od używanego interfejsu. Jednak wyniki zapytania w REST są zwracane jako normalne obiekty JSON, a ich identyfikatory są zapisywane w LowCamelCase.
Na przykład zapytanie mające na celu pobranie listy aktywnych słów kluczowych na koncie używa wielkości liter „snake” (wielkie litery) w samym zapytaniu (ad_group_criterion
, a nie adGroupCriterion
):
POST /v0/customers/CUSTOMER_ID/searchAds360:searchStream HTTP/1.1 Host: searchads360.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'" }
Jednak odpowiedź jest reprezentacją obiektów w formacie JSON (opakowanym w tablicę JSON, ponieważ to żądanie używa searchStream
) i używa zamiast niej identyfikatora CamlCase adGroupCriterion
:
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]