Más

¿Obtener un uri viz.json de un nombre de tabla?

¿Obtener un uri viz.json de un nombre de tabla?


Estoy desarrollando una aplicación web que crea dinámicamente tablas de datos en CartoDB. Una vez que haya cargado algunos datos, me gustaría mostrar un grupo de puntos de esos datos. Los datos cargados tienen unthe_geomcampo de tipo de datosgeometríacon datos bien identificados (p. ej.,ST_SetSRID (ST_Point (37.878086, -122.51026), 4326))

Entonces, dado que obtengo un nombre de tabla de una creación / escritura exitosa (por ejemplo,t62b61b0091e633029be9332b5f20bf74_6d6d454828c05e8ceea03c99cc5f5), Me gustaría agarrar elviz.jsonidentificador (p. ej.,2b13c956-e7c1-11e2-806b-5404a6a683d5, o incluso el completohttps://myCartoAccount.cartodb.com/api/v2/viz/2b13c956-e7c1-11e2-806b-5404a6a683d5/viz.json) de alguna manera, programáticamente.

Parece que no puedo encontrar la manera de hacer esto, ni referencias en la documentación.

¿Ayuda?


viz.jsonLos archivos están relacionados con Mapas (visualizaciones) pero no con tablas (conjuntos de datos).

La API de importación le permitirá importar una tabla y crear automáticamente un mapa a partir de ella (configurando elcreate_visparámetro de la solicitud de importación como verdadero), y recibirá como respuesta el nombre de su nueva tabla cargada, así como el ID de visualización que puede construir para construir su URL viz.json de la siguiente manera:

https: //$USERNAME.cartodb.com/api/v2/viz/$VISUALIZATION-ID/viz.json

A continuación, se muestra un ejemplo de solicitud para cargar una nueva tabla desde una URL:

curl -v -H "Tipo de contenido: aplicación / json" -d '{"url": "URL", "create_vis": true}' "https://USERNAME.cartodb.com/api/v1/imports/ ? api_key = API_KEY "

La respuesta a esta solicitud le dará "item_queue_id", que puede usar en la próxima solicitud.

Esta es la solicitud para obtener los datos del resultado:

curl -v "https://USERNAME.cartodb.com/api/v1/imports/ITEM_QUEUE_ID?api_key=API_KEY"

Y este será un ejemplo de la respuesta, donde en la estructura puede encontrar el ID de visualización que necesita para su viz.json:

{"id": "ID", "user_id": "USER_ID", "table_id": null, "data_type": "url", "table_name": null, "state": "failure", "error_code": 1002 , "queue_id": "QUEUE_ID," tables_created_count ": 1," synchronization_id ": nulo," type_guessing ": true," quoted_fields_guessing ": true," content_guessing ": false," create_visualization ": true," visualization_id ": ID_HERE, "user_defined_limits": "{" twitter_credits_limit  ": 0}", "get_error_text": […]}%