REST API /admin/users/list/ не работает

Я попытался получить список активных пользователей, но получил сообщение об ошибке: “The requested URL or resource could not be found”.
Мой код на 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();

Я уверен, что с моим API-ключом всё в порядке, так как он работает для других запросов. Например, запрос к “https://my-discourse-server/latest.json” возвращает правильный результат.

Кроме того, если я вхожу в Discourse как администратор и ввожу URL “https://my-discourse-server/admin/users/list/active.json” в браузере, там действительно отображается список всех активных пользователей.

В чём может быть проблема?

Моя версия Discourse: 3.1.0.beta2

Привет,

Какой User Level и Scope вы использовали для этого API-ключа?

Если вы уверены, что опечатки нет, возможно, вы создали ключ для одного пользователя без прав администратора.

Один пользователь, глобально. Да, не администратор. Значит, пользователь должен быть администратором? Я пробовал «Все пользователи», глобальный режим тоже имеет ту же проблему.

Для доступа к административным разделам вам понадобится API-ключ с правами администратора. :+1:

На мой взгляд, сообщение об ошибке вводит в заблуждение. Оно должно более точно указывать на проблему с правами доступа, например: «Неверные учетные данные».