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 기사를 공유해 주셔서 감사합니다.
내용을 확인해 보니 두 가지 별도의 호출이 필요하다는 것을 깨달았습니다.
첫 번째는 쿼리에 연결된 ID를 생성하기 위한 /admin/plugins/explorer/queries 에 대한 POST 호출입니다.
두 번째는 기본 쿼리를 편집하기 위해 /admin/plugins/explorer/queries/id 에 PUT 호출을 수행해야 합니다.
하지만 ID를 모른 채 단일 API 호출만으로 쿼리를 직접 생성할 수 있는 방법이 있는지 궁금합니다.
가능하다면 알려주세요.
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 님, 도움을 주셔서 감사합니다.
잘 작동했습니다..!!