Запрос пользователей Duo Security Admin API не удалось использовать в Java ⇐ JAVA
Запрос пользователей Duo Security Admin API не удалось использовать в Java
Я использую API администратора Duo Security. Но когда я вызываю API, используя приведенный ниже код, он показывает:
Не удалось получить запрос пользователей по HTTP (код ответа: 401) Вот мой Java-код:
voidusers(){ // Учетные данные Duo Admin API и имя хоста API String IntegrationKey = "DI7ABPU9TUJQO14RET9Q"; String secretKey = "YzDs7ZeQGMllravxDQxcn4jNAwyqF42P1XBDdGd2"; Строка apiHostname = «api-d221a358.duosecurity.com»; пытаться { StringusersUrl = "https://" + apiHostname + "/admin/v1/users"; // Создание объекта URL URL URL = новый URL (usersUrl); // Открываем соединение с URL Соединение HttpURLConnection = (HttpURLConnection) url.openConnection(); // Устанавливаем метод запроса GET Connection.setRequestMethod("GET"); // Устанавливаем заголовки запроса Connection.setRequestProperty("Авторизация", "Basic " + getBase64Credentials(integrationKey, secretKey)); Connection.setRequestProperty("Дата", OffsetDateTime.now().format(DateTimeFormatter.RFC_1123_DATE_TIME)); Connection.setRequestProperty("Content-Type", "application/json"); // Получаем код ответа HTTP int responseCode = Connection.getResponseCode(); если (responseCode == HttpURLConnection.HTTP_OK) { // Читаем и печатаем ответ (список пользователей) попробуйте (BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()))) { Строка inputLine; Ответ StringBuilder = новый StringBuilder(); while ((inputLine = in.readLine()) != null) { ответ.добавление(входнаястрока); } System.out.println("Список пользователей: " + response.toString()); } } еще { System.out.println("Запрос на получение пользователей не выполнен с кодом ответа HTTP: " + responseCode); } // Закрываем соединение соединение.отключить(); } catch (Исключение е) { е.printStackTrace(); } } // Кодируем учетные данные как Base64 частная статическая строка getBase64Credentials (StringintegrationKey, String secretKey) { Строковые учетные данные = IntegrationKey + ":" + secretKey; return java.util.Base64.getEncoder().encodeToString(credentials.getBytes()); } Какую ошибку я допустил в своем коде? Правильно ли вызывать API администратора Duo Security?
Пожалуйста, помогите мне..
Я использую API администратора Duo Security. Но когда я вызываю API, используя приведенный ниже код, он показывает:
Не удалось получить запрос пользователей по HTTP (код ответа: 401) Вот мой Java-код:
voidusers(){ // Учетные данные Duo Admin API и имя хоста API String IntegrationKey = "DI7ABPU9TUJQO14RET9Q"; String secretKey = "YzDs7ZeQGMllravxDQxcn4jNAwyqF42P1XBDdGd2"; Строка apiHostname = «api-d221a358.duosecurity.com»; пытаться { StringusersUrl = "https://" + apiHostname + "/admin/v1/users"; // Создание объекта URL URL URL = новый URL (usersUrl); // Открываем соединение с URL Соединение HttpURLConnection = (HttpURLConnection) url.openConnection(); // Устанавливаем метод запроса GET Connection.setRequestMethod("GET"); // Устанавливаем заголовки запроса Connection.setRequestProperty("Авторизация", "Basic " + getBase64Credentials(integrationKey, secretKey)); Connection.setRequestProperty("Дата", OffsetDateTime.now().format(DateTimeFormatter.RFC_1123_DATE_TIME)); Connection.setRequestProperty("Content-Type", "application/json"); // Получаем код ответа HTTP int responseCode = Connection.getResponseCode(); если (responseCode == HttpURLConnection.HTTP_OK) { // Читаем и печатаем ответ (список пользователей) попробуйте (BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()))) { Строка inputLine; Ответ StringBuilder = новый StringBuilder(); while ((inputLine = in.readLine()) != null) { ответ.добавление(входнаястрока); } System.out.println("Список пользователей: " + response.toString()); } } еще { System.out.println("Запрос на получение пользователей не выполнен с кодом ответа HTTP: " + responseCode); } // Закрываем соединение соединение.отключить(); } catch (Исключение е) { е.printStackTrace(); } } // Кодируем учетные данные как Base64 частная статическая строка getBase64Credentials (StringintegrationKey, String secretKey) { Строковые учетные данные = IntegrationKey + ":" + secretKey; return java.util.Base64.getEncoder().encodeToString(credentials.getBytes()); } Какую ошибку я допустил в своем коде? Правильно ли вызывать API администратора Duo Security?
Пожалуйста, помогите мне..
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение