我正在使用数据浏览器和 API 创建查询。我很难找到创建查询的实际 API 调用。
有一个运行查询的端点 /admin/plugins/explorer/queries/<query_id>/run;但是,我没有看到创建它的方法。
有人能帮忙吗?
我正在使用数据浏览器和 API 创建查询。我很难找到创建查询的实际 API 调用。
有一个运行查询的端点 /admin/plugins/explorer/queries/<query_id>/run;但是,我没有看到创建它的方法。
有人能帮忙吗?
您尝试过逆向工程 Discourse API吗?
感谢分享Reverse engineer the discourse API的文章;
我已经阅读了它,并意识到需要进行两次单独的调用。
首先,应该向 /admin/plugins/explorer/queries 发送 POST 调用,这将生成与查询关联的 ID。
其次,需要对 /admin/plugins/explorer/queries/id 发送 PUT 调用来编辑默认查询。
但是我想知道是否可以直接通过一次 API 调用来创建查询(而无需知道 ID)。
如果可能,请告知我。
您应该能够使用与 PUT 相同的载荷值发出 POST 请求。
您尝试过吗?
这是我通过 POST API 调用尝试的查询。
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”}’
但是,我收到了如下错误。
{“status”:500,“error”:“Internal Server Error”}%
不确定哪里可能出错了。
我认为正确的方法如下:
-F 'query[name]=test1234'
-F 'query[sql]=SELECT * FROM topics'
感谢 @Arkshine 的帮助。
它奏效了..!!