La nueva API de informes de Search Ads 360 ya está disponible. Únete al grupo de Google
searchads-api-announcements para mantenerte al tanto de las próximas mejoras y lanzamientos.
Asignaciones JSON
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Cuando usas la interfaz REST de la API de Search Ads 360 Reporting, trabajas con representaciones JSON de los mismos recursos y tipos definidos en los archivos descriptores.proto de la API de Search Ads 360 Reporting. El esquema de codificación JSON sigue el esquema de codificación canónico que se describe en la sección Asignación de JSON de la Guía de lenguaje de los búferes de protocolo.
En general, todos los mensajes de nivel superior hacia y desde los servicios son objetos JSON únicos. Las respuestas de search
son objetos JSON que contienen un array de results
con el conjunto de resultados de tu búsqueda.
Los identificadores se transforman de snake_case (en búferes de protocolo) a lowerCamelCase en JSON. Una advertencia notable sobre esta regla es cuando se usa search
o searchStream
para enviar consultas del Lenguaje de consultas de Search Ads 360. El lenguaje de consultas en sí usa snake case, independientemente de la interfaz que uses. Sin embargo, los resultados de una consulta en REST se devuelven como objetos JSON normales y tienen sus identificadores en lowerCamelCase.
Por ejemplo, una consulta para recuperar una lista de palabras clave activas en una cuenta usa snake case dentro de la consulta (ad_group_criterion
, no 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'"
}
Sin embargo, la respuesta es una representación JSON de los objetos (incluida en un array JSON, ya que esta solicitud usa searchStream
) y usa el identificador camelCase adGroupCriterion
en su lugar:
[
{
"results": [
{
"adGroupCriterion": {
"resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060",
"keyword": {
"text": "pay per click"
}
}
},
...
]
}
]
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-29 (UTC)
[null,null,["Última actualización: 2025-08-29 (UTC)"],[[["\u003cp\u003eThe Search Ads 360 Reporting API's REST interface uses JSON to represent the resources and types defined in its .proto descriptor files, adhering to the canonical JSON encoding scheme.\u003c/p\u003e\n"],["\u003cp\u003eTop-level messages in REST are single JSON objects, and search responses contain a \u003ccode\u003eresults\u003c/code\u003e array holding the query's result set.\u003c/p\u003e\n"],["\u003cp\u003eIdentifiers are generally transformed from snake_case in protocol buffers to lowerCamelCase in JSON, except within Search Ads 360 Query Language queries which retain snake_case.\u003c/p\u003e\n"],["\u003cp\u003eAlthough Search Ads 360 Query Language uses snake_case, the results returned via REST are standard JSON objects with lowerCamelCase identifiers.\u003c/p\u003e\n"]]],["The Search Ads 360 Reporting API's REST interface uses JSON, mirroring the structure of its .proto descriptor files. Data is exchanged as JSON objects, with `search` responses containing a `results` array. Identifiers convert from *snake_case* in protocol buffers to *lowerCamelCase* in JSON, except within the Search Ads 360 Query Language, which remains *snake_case*. Query results, however, are returned in *lowerCamelCase* format. For instance, a query uses `ad_group_criterion` while the response will be `adGroupCriterion`.\n"],null,["# JSON Mappings\n\nWhen using the Search Ads 360 Reporting API's REST interface, you're working with JSON\nrepresentations of the same resources and types defined in the Search Ads 360 Reporting API's\n[.proto descriptor](https://github.com/googleapis/googleapis/tree/13301267d983903e0eb8e3713cf6d3127ea0ca47/google/ads/searchads360/v0/) files. The JSON encoding scheme follows the\ncanonical encoding scheme described in the\n[JSON Mapping](/protocol-buffers/docs/proto3#json) section of the protocol\nbuffers *Language Guide*.\n\nIn general, all top-level messages to and from\n[services](https://github.com/googleapis/googleapis/tree/13301267d983903e0eb8e3713cf6d3127ea0ca47/google/ads/searchads360/v0/services) are single JSON objects. `search` responses are JSON objects containing a `results` array with your query's result set.\n\nIdentifiers are transformed from *snake_case* (in protocol buffers) to\n*lowerCamelCase* in JSON. One notable caveat to this rule is when using\n`search` or `searchStream` to send [Search Ads 360 Query Language](/search-ads/reporting/query/query-language) queries. The query language itself uses snake case, regardless of which\ninterface you're using. However, the results of a query in REST are returned as\nnormal JSON objects and have their identifiers in lowerCamelCase.\n\nFor example, a query to fetch a list of active keywords in an account uses\nsnake case inside the query itself (`ad_group_criterion`, not `adGroupCriterion`): \n\n```http\nPOST /v0/customers/\u003cvar translate=\"no\"\u003eCUSTOMER_ID\u003c/var\u003e/searchAds360:searchStream HTTP/1.1\nHost: searchads360.googleapis.com\nContent-Type: application/json\nAuthorization: Bearer \u003cvar translate=\"no\"\u003eACCESS_TOKEN\u003c/var\u003e\n\n{\n \"query\": \"SELECT ad_group_criterion.keyword.text\n FROM ad_group_criterion\n WHERE ad_group_criterion.type = 'KEYWORD'\n AND ad_group_criterion.status = 'ENABLED'\"\n}\n```\n\nHowever, the response is a JSON representation of the objects (wrapped in a JSON\narray since this request uses `searchStream`) and uses the camelCase identifier\n`adGroupCriterion` instead: \n\n```javascript\n[\n {\n \"results\": [\n {\n \"adGroupCriterion\": {\n \"resourceName\": \"customers/1842689525/adGroupCriteria/55771861891~10003060\",\n \"keyword\": {\n \"text\": \"pay per click\"\n }\n }\n },\n ...\n ]\n }\n]\n```"]]