Je suis en train de créer une requête avec l’explorateur de données avec les API. J’ai du mal à trouver l’appel d’API réel pour créer une requête.
Il existe un point de terminaison pour exécuter la requête /admin/plugins/explorer/queries/<_query_id> /run ; cependant, je ne vois pas comment la créer.
Quelqu’un peut-il m’aider ?
pfaffman
(Jay Pfaffman)
Novembre 8, 2023, 5:09
2
1 « J'aime »
Merci d’avoir partagé l’article Reverse engineer the discourse API ;
Je l’ai parcouru et j’ai réalisé que deux appels distincts devaient être effectués.
Le premier devrait être l’appel POST à /admin/plugins/explorer/queries , qui générera l’ID associé à la requête.
Deuxièmement, l’appel PUT doit être effectué sur /admin/plugins/explorer/queries/id pour modifier la requête par défaut.
Mais je me demande s’il existe une disposition pour créer la requête (en effectuant un seul appel API) directement sans connaître l’ID.
Faites-moi savoir si c’est possible.
Vous devriez pouvoir faire une requête POST avec les mêmes valeurs de charge utile que PUT.
Avez-vous essayé ?
1 « J'aime »
Voici la requête que j’ai essayée en effectuant un appel 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”}’
Cependant, je reçois une erreur comme ci-dessous.
{“status”:500,“error”:“Internal Server Error”}%
Je ne suis pas sûr de ce qui pourrait être erroné.
Je pense que la bonne façon est la suivante :
-F 'query[name]=test1234'
-F 'query[sql]=SELECT * FROM topics'
2 « J'aime »
Merci @Arkshine pour ton aide.
Ça a marché..!!
1 « J'aime »