¿Cómo crear una consulta de data explorer con las APIs?

Estoy en proceso de crear una consulta con el explorador de datos con las API. Tengo dificultades para encontrar la llamada API real para crear una consulta.

Hay un punto final para ejecutar la consulta /admin/plugins/explorer/queries/<query_id>/run; sin embargo, no veo cómo crearla.

¿Alguien puede ayudar?

¿Has intentado realizar ingeniería inversa de la API de Discourse?

1 me gusta

Gracias por compartir el artículo de Ingeniería inversa de la API de Discourse;

Lo he revisado y me he dado cuenta de que se deben realizar dos llamadas separadas.

La primera debe ser la llamada POST a /admin/plugins/explorer/queries, que generará el ID asociado a la consulta.

En segundo lugar, la llamada PUT debe hacerse a /admin/plugins/explorer/queries/id para editar la consulta predeterminada.

Pero me pregunto si hay una forma de crear la consulta (haciendo una sola llamada a la API) directamente sin conocer el ID.

Avísame si es posible.

Deberías poder hacer una solicitud POST con los mismos valores de carga útil que PUT. ¿Lo intentaste?

1 me gusta

Aquí está la consulta que intenté al realizar una llamada a la API POST.

curl -X POST https://api-discourse-XXXXXXXXXXXXX/admin/plugins/explorer/queries
-H “Content-Type: multipart/form-data;”
-H “Api-Key: 46811cc32XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”
-H “Api-Username: abcdefg2”
-F ‘query={“name”:“test1234”, “sql”:“SELECT * FROM topics”}’

Sin embargo, estoy recibiendo un error como el siguiente.

{“status”:500,“error”:“Internal Server Error”}%

No estoy seguro de qué podría estar mal.

Creo que la forma correcta es la siguiente:

-F 'query[name]=test1234'
-F 'query[sql]=SELECT * FROM topics'
2 Me gusta

Gracias @Arkshine por la ayuda.

¡Funcionó..!

1 me gusta