تُنشأ مفاتيح واجهة برمجة التطبيقات (API) من صفحة المسؤول / واجهة برمجة التطبيقات. اذهب إلى المسؤول-متقدم-مفاتيح واجهة برمجة التطبيقات:
بعد النقر على زر “إضافة مفتاح واجهة برمجة تطبيقات”، سيتم نقلك إلى صفحة لتكوين المفتاح:
يحتاج كل مفتاح واجهة برمجة تطبيقات إلى وصف ومستوى مستخدم ونطاق (scope).
الوصف
يمكن أن يكون الوصف أي شيء تختاره.
مستوى المستخدم
يتيح لك القائمة المنسدلة “مستوى المستخدم” تحديد إما “جميع المستخدمين” أو “مستخدم واحد”. إذا تم تحديد “جميع المستخدمين”، فيمكن استخدام المفتاح نيابة عن أي مستخدم. يتم ذلك عن طريق تعيين المستخدم الذي تجري الطلب نيابة عنه كـ Api-Username في رؤوس الطلب. (راجع مثال المصادقة في وثائق واجهة برمجة التطبيقات للحصول على تفاصيل حول كيفية تعيين رؤوس الطلب.)
إذا تم تحديد “مستخدم واحد”، فسيظهر حقل مستخدم في النموذج. أدخل اسم المستخدم للمستخدم الذي تقوم بإنشاء مفتاح واجهة برمجة التطبيقات له في هذا الحقل:
النطاق (Scope)
تسمح لك القائمة المنسدلة “النطاق” باختيار “عام” (Global) أو “للقراءة فقط” (Read-only) أو “مفصل” (Granular) كنطاق.
إذا تم اختيار “عام” كنطاق، فيمكن استخدام المفتاح لـ جميع الطلبات التي يحق للمستخدم الذي تم إنشاء المفتاح له، أو اسم المستخدم المُدخل كـ Api-Username للطلب، إجراءها.
إذا تم اختيار “للقراءة فقط” كنطاق، فلن يتمكن مفتاح واجهة برمجة التطبيقات من استخدامه إلا لإجراء طلبات GET. سيتمكن المفتاح من إجراء أي طلبات GET يحق للمستخدم الذي تم إنشاء المفتاح له، أو اسم المستخدم المُدخل كـ Api-Username للطلب، إجراءها.
إذا تم اختيار “مفصل” كنطاق، فسيتم فتح نموذج يسمح لك بالاختيار من بين النطاقات المتاحة. مرر مؤشر الماوس فوق أيقونة علامة الاستفهام الخاصة بالنطاق لرؤية وصف للنطاق. انقر على أيقونة الرابط الخاصة بالنطاق لرؤية قائمة بالمسارات وطرق الطلب التي يدعمها النطاق. لاحظ أن العديد من النطاقات تسمح لك بإدخال معلمة إضافية لتحديد المسارات على الموقع التي سيسمح النطاق بالوصول إليها:
بعد تكوين مفتاح واجهة برمجة التطبيقات والنقر على زر الحفظ، سيتم عرض مفتاح واجهة برمجة التطبيقات الكامل لك مرة واحدة. تأكد من نسخ المفتاح لأنه لا توجد طريقة لعرض المفتاح الكامل مرة أخرى.
يمكن لنطاقات واجهة برمجة التطبيقات في Discourse تقييد فقط الإجراءات التي يمكن لمفتاح واجهة برمجة التطبيقات القيام بها فيما يتعلق بالأذونات الحالية للمستخدم. لا يمكنها منح أذونات إضافية تتجاوز ما يمتلكه المستخدم المرتبط بالفعل.
يتم إبطال مفاتيح واجهة برمجة التطبيقات التي لم يتم استخدامها لمدة 180 يومًا تلقائيًا. يتم التحكم في ذلك بواسطة إعداد الموقع
revoke_api_keys_unused_days.
قراءة إضافية
تفاصيل حول حدود المعدل التي يطبقها Discourse على مفاتيح واجهة برمجة التطبيقات: الحدود العامة للمعدل والتنظيم في Discourse.
وثائق واجهة برمجة التطبيقات لـ Discourse: https://docs.discourse.org/.
دليل مفيد لمعرفة كيفية هيكلة طلبات واجهة برمجة التطبيقات: كيفية عكس هندسة واجهة برمجة التطبيقات لـ Discourse.





