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.

3 curtidas

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:

1 curtida

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

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.