كيفية إنشاء استعلام مستكشف البيانات باستخدام واجهات برمجة التطبيقات؟

أنا بصدد إنشاء استعلام باستخدام مستكشف البيانات مع واجهات برمجة التطبيقات. أواجه صعوبة في العثور على استدعاء واجهة برمجة التطبيقات الفعلي لإنشاء استعلام.

هناك نقطة نهاية لتشغيل الاستعلام /admin/plugins/explorer/queries/<query_id>/run ؛ ومع ذلك، لا أرى كيفية إنشائه.

هل يمكن لأحد المساعدة؟

هل جربت الهندسة العكسية لواجهة برمجة تطبيقات Discourse؟

إعجاب واحد (1)

شكراً لمشاركة المقال الخاص بـ الهندسة العكسية لواجهة برمجة تطبيقات Discourse؛

لقد اطلعت عليه وأدركت أنه يجب إجراء استدعاءين منفصلين.

يجب أن يكون الأول هو استدعاء POST إلى /admin/plugins/explorer/queries، والذي سيقوم بإنشاء المعرف المرتبط بالاستعلام.

ثانياً، يجب إجراء استدعاء PUT على /admin/plugins/explorer/queries/id لتعديل الاستعلام الافتراضي.

لكنني أتساءل عما إذا كان هناك شرط لإنشاء الاستعلام (عن طريق إجراء استدعاء API واحد) مباشرة دون معرفة المعرف.

أعلمني إذا كان ذلك ممكناً.

يجب أن تكون قادرًا على إجراء طلب POST بنفس قيم الحمولة مثل PUT. هل جربت؟

إعجاب واحد (1)

إليك الاستعلام الذي حاولت استدعاء واجهة برمجة التطبيقات 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”}’

ومع ذلك، أحصل على خطأ كما يلي.

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

لست متأكدًا مما قد يكون الخطأ.

أعتقد أن الطريقة الصحيحة هي كالتالي:

-F 'query[name]=test1234'
-F 'query[sql]=SELECT * FROM topics'
إعجابَين (2)

شكرا @Arkshine على المساعدة. لقد نجح الأمر..!!

إعجاب واحد (1)