Gibt es eine Möglichkeit, eine Data Explorer-Abfrage über die Discourse-API zugänglich zu machen, ohne dass der mit dem API-Schlüssel verbundene Benutzer ein Administrator sein muss? (Nach meinen Experimenten scheinen alle API-Abfragen die Form „/admin/plugins/explorer/queries/NNN/run“ zu haben, und Nicht-Administratoren scheinen keinen Zugriff auf „/admin“ und darunter zu haben.)
In der Data Explorer-Benutzeroberfläche habe ich „Gruppen den Zugriff auf diese Abfrage erlauben“ auf eine bestimmte Gruppe gesetzt. Trotzdem habe ich festgestellt, dass Administratoren, die keine Mitglieder der Gruppe sind, immer noch Zugriff haben. Ist das zu erwarten?
Sie können Gruppen den Zugriff auf eine Abfrage erlauben, wie Sie bemerkt haben … wenn dies aktiviert ist, kann ein Nicht-Admin-Mitglied einer Gruppe von g/{groupname}/reports/{id} auf eine Abfrage zugreifen.
Das ist zu erwarten, Admins können auf alles zugreifen.
Mir ist bewusst, dass die URL g/{groupname}/reports/{id} für Benutzer funktioniert, die interaktiv auf der Discourse-Website angemeldet sind. Die Verwendung von cURL, um die Discourse-API über URLs dieses Formats aufzurufen, funktioniert jedoch nicht. Ich habe eine Vielzahl von Benutzertypen, Gruppen und API-Schlüsseleinstellungen ausprobiert, und keine davon hat funktioniert. Um so viele Faktoren wie möglich auszuschließen, habe ich es mit einem API-Schlüssel versucht, der keine Scopes konfiguriert hat (ich nehme an, das bedeutet, er ist weit offen) und diesen Schlüssel einem Administrator zugeordnet (der Mitglied der Gruppe ist, auf die die Data Explorer-Abfrage verweist), und ich erhalte als Antwort eine HTML-Seite mit der Meldung „Oops! That page doesn’t exist or is private.“
Danke für die Bestätigung, dass Administratoren auf alles zugreifen können. Das habe ich vermutet.