راجع كيفية تشغيل استعلامات مستكشف البيانات باستخدام واجهة برمجة تطبيقات Discourse للحصول على تفاصيل حول كيفية تعيين معامل params. بناءً على الكود الذي قدمته، يبدو أنك تحاول تمرير معامل user_param مباشرةً بدلاً من تضمينه داخل معامل params. يجب أن يمنحك المثال الأول للكود في الموضوع الذي ربطت به فكرة حول كيفية تعيين هذا المعامل.
لقد اطلعت على مقالتك حول واجهات برمجة التطبيقات (APIs)، لكنني أستخدم دالة curl_setopt() لإدراج المعاملات. تتطلب هذه الدالة استخدام مصفوفة. لذا حاولت ما يلي، لكنه يظهر خطأ على مستوى المنتدى.
يبدو أن البيانات تُمرّر الآن، لكن المخرجات لا يتم عرضها.
أوبس
واجهت البرمجيات التي تشغل منتدى النقاش هذا مشكلة غير متوقعة. نعتذر عن الإزعاج.
تم تسجيل معلومات مفصلة حول الخطأ، وتم إنشاء إشعار تلقائي. سنقوم بمراجعة الأمر.
لا حاجة لاتخاذ أي إجراء إضافي. ومع ذلك، إذا استمرت حالة الخطأ، يمكنك تقديم تفاصيل إضافية، بما في ذلك خطوات إعادة إنتاج الخطأ، عن طريق نشر موضوع نقاش في فئة التعليقات بالموقع.
قد تتمكن من تبسيط عملية استكشاف المشكلة وحلها بمحاولة إجراء استدعاء API باستخدام طلب curl من طرفية جهاز الكمبيوتر الخاص بك أولاً. إذا تمكنت من جعل ذلك يعمل، فستعرف أن المشكلة تتعلق بكيفية إنشاء الطلب باستخدام curl_setopt.
لا أتوقع أن يؤدي إجراء استعلام Data Explorer عبر واجهة برمجة التطبيقات (API) إلى حدوث خطأ 500 على خادم موقعك. إذا كنت قادرًا على الوصول إلى الموقع، فيجب أن تجد تفاصيل حول ما حدث خطأ في سجلات الأخطاء الخاصة بموقعك (الموجودة في لوحة الإدارة / السجلات / سجلات الأخطاء).
لذلك جربت الكود في الطرفية وحصلت على الخطأ التالي:
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
root@Discourse-for-Prowess:~# curl -X POST “https://domain/admin/plugins/explorer/queries/9/run”-H “Content-Type:multipart/form-data;”-H “Api-key:12345”-H “Api-username:username”-F ‘params={“user_param”:“25”}’
أستطيع تشغيل الاستعلام في مستكشف البيانات - لقطة شاشة.
في سجلات الأخطاء، أرى ما يلي:
ActionDispatch::Http::MimeNegotiation::InvalidType ("%{#context['com.opensymphony.xwork2.dispatcher.httpservletresponse'].addheader('90b3sfq9'" is not a valid MIME type)
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:353:in `call'
config/initializers/008-rack-cors.rb:25:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:177:in `call'