Como criar uma consulta de explorador de dados com as APIs?

Estou no processo de criar uma consulta com o explorador de dados com as APIs. Estou tendo dificuldades em encontrar a chamada de API real para criar uma consulta.

Existe um endpoint para executar a consulta /admin/plugins/explorer/queries/\u003cquery_id\u003e/run; no entanto, não vejo como criá-la.

Alguém pode ajudar?

Você já tentou engenharia reversa da API do Discourse?

1 curtida

Obrigado por compartilhar o artigo de Engenharia reversa da API do Discourse;

Eu o analisei e percebi que duas chamadas separadas precisam ser feitas.

A primeira deve ser a chamada POST para /admin/plugins/explorer/queries, que gerará o ID associado à consulta.

Em segundo lugar, a chamada PUT precisa ser feita em /admin/plugins/explorer/queries/id para editar a consulta padrão.

Mas estou me perguntando se há uma provisão para criar a consulta (fazendo uma única chamada de API) diretamente, sem saber o ID.

Me diga se isso é possível.

Você deve ser capaz de fazer uma requisição POST com os mesmos valores de payload que PUT.
Você tentou?

1 curtida

Aqui está a consulta que tentei ao fazer uma chamada de 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”}’

No entanto, estou recebendo um erro como abaixo.

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

Não tenho certeza do que pode estar errado.

Eu acho que a maneira correta é a seguinte:

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

Obrigado @Arkshine pela ajuda.

Funcionou..!!

1 curtida