Conferma accesso API alle impostazioni del sito Limite di creazione

Sto lavorando a un’integrazione che pubblica e sincronizza argomenti correlati in Discourse tramite l’API. Per le diagnostiche di configurazione, vorrei leggere i limiti di creazione attuali del forum, in modo che l’integrazione possa verificare il contenuto prima di tentare di creare o aggiornare gli argomenti.

Le impostazioni a cui sto cercando di confermare l’accesso includono:

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

Ho controllato prima /site.json, che è accessibile e utile per indizi sulle funzionalità pubbliche, ma non sembra esporre queste impostazioni concrete sui limiti di creazione.

Con una chiave API per un utente bot non amministratore, questi hanno restituito 404:

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

Dopo aver reso l’utente bot un amministratore, questi hanno funzionato:

/admin/site_settings.json
/admin/site_settings

Utilizzando le intestazioni:

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

/site_settings.json ha ancora restituito 404.

Le mie domande:

  1. /admin/site_settings.json è il percorso API previsto per leggere le impostazioni attuali del sito?
  2. È necessaria la permissione di utente amministratore, o esiste un ambito API di sola lettura/granulare supportato per questo?
  3. /site_settings.json è deprecato, dipende da plugin, o non ci si aspetta che esista?
  4. Per le integrazioni, il modello consigliato è utilizzare una chiave di diagnostica/configurazione con capacità di amministratore per leggere le impostazioni, mentre si utilizza una chiave di pubblicazione con privilegi inferiori per il normale lavoro di sincronizzazione di argomenti/post?

L’obiettivo non è modificare le impostazioni tramite API, ma solo leggerle durante le diagnostiche di configurazione in modo che l’integrazione

  1. È /admin/site_settings.json

  2. Devi essere un amministratore, tranne per le impostazioni che hanno client: true, che possono essere trovate in /site/settings.json

Tutte le impostazioni di cui hai bisogno, tranne le ultime due, possono essere trovate in /site/settings.json.

Ma per i gruppi consentiti, il meccanismo funziona diversamente: se richiedi /site.json come utente specifico, puoi ispezionare can_tag_topics e can_create_tags.

  1. AFAIK /site_settings.json non è mai esistito.

  2. Penso che, per il tuo caso d’uso specifico, tu possa cavartela con un utente normale e usare il modello sotto #2.