تأكيد الوصول عبر واجهة برمجة التطبيقات إلى إعدادات موقع حدود التأليف

أعمل على تكامل ينشر ويتزامن مع مواضيع مرافقة في Discourse عبر واجهة برمجة التطبيقات (API). لتشخيص الإعداد، أريد قراءة حدود التأليف الحالية في المنتدى حتى يتمكن التكامل من التحقق من المحتوى مسبقًا قبل محاولة إنشاء أو تحديث المواضيع.

الإعدادات التي أحاول تأكيد الوصول إليها تشمل:

min_topic_title_length
max_topic_title_length
min_first_post_length
min_post_length
max_post_length
max_tags_per_topic
max_tag_length
tagging_enabled
create_tag_allowed_groups
tag_topic_allowed_groups

تحققت أولاً من /site.json، وهو متاح ومفيد لإشارات القدرات العامة، لكنه لا يبدو أنه يكشف عن إعدادات حدود التأليف المحددة هذه.

باستخدام مفتاح API لمستخدم روبوت غير مسؤول، أرجعت هذه المسارات 404:

/site_settings.json
/admin/site_settings.json
/admin/site_settings

بعد جعل مستخدم الروبوت مسؤولاً، عملت هذه المسارات:

/admin/site_settings.json
/admin/site_settings

باستخدام الرؤوس التالية:

Accept: application/json
Api-Key: ...
Api-Username: discussbridge-bot
X-Requested-With: XMLHttpRequest

لا يزال /site_settings.json يرجع 404.

أسئلتي:

  1. هل /admin/site_settings.json هو مسار واجهة برمجة التطبيقات (API) المتوقع لقراءة إعدادات الموقع الحالية؟
  2. هل يتطلب ذلك صلاحيات مستخدم مسؤول، أم أن هناك نطاقاً مدعوماً لقراءة فقط أو تفصيلياً لواجهة برمجة التطبيقات (API) لهذا الغرض؟
  3. هل /site_settings.json متقادم، أو يعتمد على إضافات، أو لا يُتوقع وجوده؟
  4. للتكاملات، هل النمط الموصى به هو استخدام مفتاح تشخيص/إعداد ذي صلاحيات مسؤول لقراءة الإعدادات، بينما استخدام مفتاح نشر ذي صلاحيات أقل للعمل العادي على مزامنة المواضيع/المشاركات؟

الهدف ليس تغيير الإعدادات عبر واجهة برمجة التطبيقات (API)، بل فقط قراءتها أثناء تشخيص الإعداد حتى يتمكن التكامل

  1. هو /admin/site_settings.json

  2. يجب أن تكون مسؤولاً، باستثناء الإعدادات التي تحتوي على client: true، والتي يمكن العثور عليها في /site/settings.json

يمكن العثور على جميع الإعدادات التي تحتاجها، باستثناء الإعدادين الأخيرين، في /site/settings.json.

ولكن بالنسبة للمجموعات المسموح بها، يعمل الآلية بشكل مختلف: إذا قمت بطلب /site.json كمستخدم معين، يمكنك فحص can_tag_topics وcan_create_tags.

3.据我所知,/site_settings.json 从未存在过。

  1. 我认为,针对你的特定用例,你可以使用普通用户并采用 #2 中的模式来解决问题。