Confirmation de l'accès API aux paramètres du site pour les limites d'auteur

Je travaille sur une intégration qui publie et synchronise des sujets compagnons dans Discourse via l’API. Pour le diagnostic de configuration, j’aimerais lire les limites de rédaction actuelles du forum afin que l’intégration puisse vérifier le contenu avant de tenter de créer ou de mettre à jour des sujets.

Les paramètres auxquels j’essaie de confirmer l’accès incluent :

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

J’ai d’abord vérifié /site.json, qui est accessible et utile pour les indications de capacités publiques, mais il ne semble pas exposer ces paramètres concrets de limites de rédaction.

Avec une clé API pour un utilisateur bot non administrateur, ceux-ci ont retourné 404 :

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

Après avoir rendu l’utilisateur bot administrateur, ceux-ci ont fonctionné :

/admin/site_settings.json
/admin/site_settings

En utilisant les en-têtes :

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

/site_settings.json a toujours retourné 404.

Mes questions :

  1. /admin/site_settings.json est-il le chemin API attendu pour lire les paramètres actuels du site ?
  2. La permission d’utilisateur administrateur est-elle requise, ou existe-t-il une portée API en lecture seule/granulaire prise en charge pour cela ?
  3. /site_settings.json est-il déprécié, dépendant d’un plugin, ou n’est-il pas censé exister ?
  4. Pour les intégrations, le modèle recommandé consiste-t-il à utiliser une clé de diagnostic/configuration capable d’administration pour lire les paramètres, tout en utilisant une clé de publication moins privilégiée pour le travail normal de synchronisation des sujets/messages ?

L’objectif n’est pas de modifier les paramètres via l’API, mais seulement de les lire lors du diagnostic de configuration afin que l’intégration

  1. C’est /admin/site_settings.json

  2. Vous devez être administrateur, sauf pour les paramètres qui ont client: true, ceux-ci peuvent être trouvés dans /site/settings.json

Tous les paramètres dont vous avez besoin, sauf les deux derniers, peuvent être trouvés dans /site/settings.json.

Mais pour les groupes autorisés, le mécanisme fonctionne différemment : si vous demandez /site.json en tant qu’utilisateur spécifique, vous pouvez inspecter can_tag_topics et can_create_tags.

  1. AFAIK /site_settings.json n’a jamais existé.

  2. Je pense que, pour votre cas d’utilisation spécifique, vous pouvez vous en sortir avec un utilisateur régulier en utilisant le modèle sous #2.