Korzystając z interfejsu REST interfejsu Search Ads 360 Reporting API, pracujesz z reprezentacjami w formacie JSON tych samych zasobów i typów zdefiniowanych w plikach .proto interfejsu Search Ads 360 Reporting API. Schemat kodowania JSON jest zgodny z kanonicznym schematem kodowania opisanym w sekcji Mapowanie JSON w przewodniku po językach firmy Buffers.
Ogólnie wszystkie wiadomości najwyższego poziomu wysyłane do usług i od nich są pojedynczymi obiektami JSON. Odpowiedzi search
to obiekty JSON zawierające tablicę results
z zestawem wyników zapytania.
Identyfikatory są przekształcane z formatu snake_case (w protokołach buforów) na lowerCamelCase w plikach JSON. Wyjątkiem od tej reguły jest sytuacja, gdy do wysyłania zapytań w języku zapytań Search Ads 360 używasz funkcji search
lub searchStream
. Język zapytań używa stylu snake_case niezależnie od tego, którego interfejsu używasz. Wyniki zapytania w formacie REST są jednak zwracane jako zwykłe obiekty JSON, a ich identyfikatory mają postać małej litery w alfabecie łacińskim.
Na przykład zapytanie służące do pobierania listy aktywnych słów kluczowych na koncie używa w samym zapytaniu zapisu w alfabecie międzynarodowym (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'" }
Odpowiedź jest jednak reprezentacją obiektów w formacie JSON (opakowanych w tablicę JSON, ponieważ to żądanie używa searchStream
) i zamiast tego używa identyfikatora camelCaseadGroupCriterion
:
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]