При использовании интерфейса REST Search Ads 360 Reporting API вы работаете с JSON-представлениями тех же ресурсов и типов, которые определены в файлах дескриптора .proto Search Ads 360 Reporting API. Схема кодирования JSON соответствует канонической схеме кодирования, описанной в разделе «Сопоставление JSON» руководства по буферам протоколов.
Как правило, все сообщения верхнего уровня, поступающие и исходящие от служб, представляют собой отдельные объекты JSON. Ответы search
— это объекты JSON, содержащие массив results
с набором результатов вашего запроса.
Идентификаторы преобразуются из Snake_case (в буферах протокола) в lowCamelCase в JSON. Одним из заметных предостережений в отношении этого правила является использование search
или searchStream
для отправки запросов на языке запросов Search Ads 360 . Сам язык запросов использует змеиный регистр, независимо от того, какой интерфейс вы используете. Однако результаты запроса в REST возвращаются как обычные объекты JSON и имеют идентификаторы в нижнем регистре CamelCase.
Например, запрос на получение списка активных ключевых слов в учетной записи использует случай змей внутри самого запроса ( ad_group_criterion
, а не 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'" }
Однако ответ представляет собой представление объектов в формате JSON (завернутое в массив JSON, поскольку этот запрос использует searchStream
) и вместо этого использует идентификатор CamelCase adGroupCriterion
:
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]