Я работаю над интеграцией, которая публикует и синхронизирует сопутствующие темы в 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.
Мои вопросы:
- Является ли
/admin/site_settings.jsonожидаемым путем API для чтения текущих настроек сайта? - Требуется ли право пользователя-администратора, или существует поддерживаемая область действия API для чтения с гранулярным доступом?
- Является ли
/site_settings.jsonустаревшим, зависящим от плагинов или не ожидаемым к существованию? - Для интеграций является ли рекомендуемым паттерном использование ключа диагностики/настройки с правами администратора для чтения настроек, в то время как для обычной работы по синхронизации тем/постов используется ключ с меньшими привилегиями?
Цель не в том, чтобы изменять настройки через API, а только в том, чтобы читать их во время диагностики настройки, чтобы интеграция