API REST Admin/users/list/ não está funcionando

Tentei obter usuários ativos, mas recebi a mensagem de erro “O URL ou recurso solicitado não pôde ser encontrado”.
Meu código Java:


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();

Tenho certeza de que não há nada de errado com minha chave de API porque ela funciona para outras consultas, por exemplo, “https://my-discourse-server/latest.json” retornou o resultado correto.

Além disso, se eu fizer login no Discourse como administrador e digitar o URL “https://my-discourse-server/admin/users/list/active.json” no navegador da web, ele lista todos os usuários ativos.

O que está errado?

Minha versão do Discourse é 3.1.0.beta2

Olá,

Qual Nível de Usuário e Escopo você usou para essa chave de API?

Se você tem certeza de que não há erro de digitação, você pode ter criado uma com um único usuário não administrador.

Usuário Único, Global. Sim. não administrador
Então o usuário deve ser um administrador?
Tentei “Todos os Usuários”, Global também tem o mesmo problema.

Para acessar as áreas de administrador, você precisaria de uma chave de API com permissões de administrador. :+1:

Na minha opinião, a mensagem de erro é enganosa. Deveria ser mais significativa sobre a permissão, como “Credencial inválida”.