Admin/users/list/ REST API funktioniert nicht

Ich habe versucht, aktive Benutzer abzurufen, aber es wurde die Fehlermeldung „Die angeforderte URL oder Ressource konnte nicht gefunden werden“ zurückgegeben.
Meine Java-Codes:


Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/json");
headers.put("Api-Key", apiKey);
headers.put("Api-Username", userName);
headers.put("Accept", "application/json");

return Unirest.get("https://my-discourse-server/admin/users/list/active.json")
.headers(headers)
.asString()
.getBody()
.toString();

Ich bin sicher, dass mit meinem API-Schlüssel nichts falsch ist, da er für andere Abfragen funktioniert, zum Beispiel wurde „https://my-discourse-server/latest.json“ korrekt zurückgegeben.

Außerdem, wenn ich mich bei Discourse als Administrator anmelde und die URL „https://my-discourse-server/admin/users/list/active.json“ in den Webbrowser eingebe, werden alle aktiven Benutzer aufgelistet.

Was ist falsch?

Meine Discourse-Version ist 3.1.0.beta2

Hallo,

Welchen Benutzerlevel und Scope haben Sie für diesen API-Schlüssel verwendet?

Wenn Sie sicher sind, dass kein Tippfehler vorliegt, haben Sie möglicherweise einen mit einem einzelnen Nicht-Admin-Benutzer erstellt.

Einzelner Benutzer, Global. Ja. Nicht-Administrator
Muss der Benutzer also ein Administrator sein?
Ich habe „Alle Benutzer“ versucht, Global hat dasselbe Problem.

Um auf die Admin-Bereiche zuzugreifen, benötigen Sie einen API-Schlüssel mit Administratorberechtigungen. :+1:

Meiner Meinung nach ist die Fehlermeldung irreführend. Sie sollte aussagekräftiger über die Berechtigung sein, z. B. „Ungültige Anmeldeinformationen“.