Ich bin dabei, eine Abfrage mit dem Data Explorer und den APIs zu erstellen. Ich habe Schwierigkeiten, den eigentlichen API-Aufruf zum Erstellen einer Abfrage zu finden.
Es gibt einen Endpunkt zum Ausführen der Abfrage /admin/plugins/explorer/queries/\u003cquery_id\u003e/run ; ich sehe jedoch nicht, wie ich sie erstellen kann.
Kann mir jemand helfen?
pfaffman
(Jay Pfaffman)
8. November 2023 um 05:09
2
1 „Gefällt mir“
Vielen Dank für das Teilen des Artikels Reverse engineer the discourse API ;
Ich habe ihn durchgesehen und festgestellt, dass zwei separate Aufrufe erforderlich sind.
Der erste sollte der POST-Aufruf an /admin/plugins/explorer/queries sein, der die ID generiert, die mit der Abfrage verknüpft ist.
Zweitens muss der PUT-Aufruf an /admin/plugins/explorer/queries/id erfolgen, um die Standardabfrage zu bearbeiten.
Ich frage mich jedoch, ob es eine Möglichkeit gibt, die Abfrage (durch einen einzigen API-Aufruf) direkt zu erstellen, ohne die ID zu kennen.
Lassen Sie mich wissen, ob das möglich ist.
Sie sollten in der Lage sein, eine POST-Anfrage mit denselben Payload-Werten wie PUT zu stellen.
Haben Sie es versucht?
1 „Gefällt mir“
Hier ist die Abfrage, die ich bei einem POST-API-Aufruf versucht habe.
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”}’
Ich erhalte jedoch eine Fehlermeldung wie unten.
{“status”:500,“error”:“Internal Server Error”}%
Ich bin mir nicht sicher, was falsch sein könnte.
Ich denke, der richtige Weg ist der folgende:
-F 'query[name]=test1234'
-F 'query[sql]=SELECT * FROM topics'
2 „Gefällt mir“
Danke @Arkshine für die Hilfe.
Es hat funktioniert..!!
1 „Gefällt mir“