لا يمكن فهم واجهة برمجة التطبيقات لإضافة وإزالة مالكي المجموعة

أرغب في إضافة وإزالة مالكي المجموعات باستخدام واجهة برمجة التطبيقات (API). هذا غير موثق في وثائق واجهة برمجة التطبيقات.

عند تتبع الاستدعاءات أثناء تسجيل الدخول كمسؤول، فإن جعل المستخدم مالكًا هو:

PUT groups/<gid>/owners مع حمولة usernames=nikkilocke (لاحظ عدم وجود مسؤول!)

إزالة المستخدم من المالكين هو:

DELETE admin/groups/<gid>/owners مع حمولة user_id=<uid>

دراسة الكود المصدري تظهر:

      def group_add_owners(group_id, args)
        args = API.params(args).required(:usernames).to_h
        put("/admin/groups/#{group_id}/owners.json", group: args)
      end

      def group_remove_owners(group_id, args)
        args = API.params(args).required(:usernames).to_h
        delete("/admin/groups/#{group_id}/owners.json", group: args)
      end

وهذا الكود لا يبدو أنه قد تغير منذ عام 2023.

أنا أقوم بتشغيل Discourse 3.4.7، ونقطة الدخول لإضافة المالكين في الكود المصدري تعطي خطأ 404.

العناوين التي جربتها:

PUT /groups/384/owners usernames=nikkilocke موافق

PUT /admin/groups/384/owners group[usernames]=nikkilocke خطأ 404

DEL /admin/groups/384/owners group[usernames]=nikkilocke موافق

DEL /admin/groups/384/owners user_id = 12 موافق

هل يمكن لأي شخص أن ينصحني بما يحدث، وما هي العناوين التي يجب استخدامها لهذا، من فضلك؟

أفترض أن هذا خطأ إملائي وليس سبب الخطأ الذي تواجهه؟

إعجابَين (2)

أفضل وأضمن وثائق لواجهة برمجة التطبيقات هي الهندسة العكسية لواجهة برمجة تطبيقات Discourse

هل أنت متأكد من أن لديك مفتاح واجهة برمجة تطبيقات صالح وأنك تمرره بشكل صحيح؟ من المتوقع حدوث خطأ 404 إذا لم يتم مصادقتك بشكل صحيح.

هل أنت قادر على إجراء أي طلبات تتطلب التفويض؟

كما ذكرت في المنشور الأصلي، فإن 3 من أصل 4 احتمالات تعمل بشكل جيد (باستخدام نفس مفتاح API).

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

آه. آسف. كلمة “حسنًا” في نهاية السطر كانت خفية جدًا بالنسبة لي لدرجة أنني لم أستطع فهمها.

عندما أضيف مالكًا، أرى طلب PUT هذا https://example.com/groups/75/owners.json مع usernames=pfaffman123 في بيانات النموذج.

هل اتبعت خطوات الهندسة العكسية التي ربطتها؟

@Nikki_Locke هل تمكنت من حل مشكلتك؟

تم إغلاق هذا الموضوع تلقائيًا بعد 6 أيام. لم يعد يُسمح بالردود الجديدة.