Ich arbeite an einer Integration, die Begleitthemen über die API in Discourse veröffentlicht und synchronisiert. Für die Einrichtungsdiagnose möchte ich die aktuellen Autorengrenzen des Forums lesen, damit die Integration den Inhalt vorab prüfen kann, bevor sie versucht, Themen zu erstellen oder zu aktualisieren.
Die Einstellungen, auf die ich Zugriff prüfen möchte, sind:
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
Ich habe zuerst /site.json überprüft, das zugänglich und nützlich für öffentliche Funktionshinweise ist, aber es scheint diese konkreten Einstellungen für Autorengrenzen nicht offenzulegen.
Mit einem API-Schlüssel für einen Nicht-Admin-Bot-Benutzer gaben diese 404 zurück:
/site_settings.json
/admin/site_settings.json
/admin/site_settings
Nachdem ich den Bot-Benutzer zum Administrator gemacht hatte, funktionierten diese:
/admin/site_settings.json
/admin/site_settings
Verwendete Header:
Accept: application/json
Api-Key: ...
Api-Username: discussbridge-bot
X-Requested-With: XMLHttpRequest
/site_settings.json gab weiterhin 404 zurück.
Meine Fragen:
- Ist
/admin/site_settings.jsonder erwartete API-Pfad zum Lesen der aktuellen Site-Einstellungen? - Ist Administratorbenutzerberechtigung erforderlich, oder gibt es einen unterstützten schreibgeschützten/granularen API-Bereich dafür?
- Ist
/site_settings.jsonveraltet, pluginabhängig oder soll es nicht existieren? - Ist für Integrationen das empfohlene Muster, einen adminfähigen Diagnose-/Einrichtungsschlüssel zum Lesen von Einstellungen zu verwenden, während ein weniger privilegierter Veröffentlichungsschlüssel für die normale Synchronisation von Themen/Beiträgen genutzt wird?
Das Ziel ist es nicht, Einstellungen über die API zu ändern, sondern sie nur während der Einrichtungsdiagnose zu lesen, damit die Integration