@TTXSTM

DonationAlerts API — Как получить Code, Token через ссылку?

Привет, возникла такая проблема с подключением к API DonationAlert
Сначала DonationAlerts выводил 'Unauthenticated.' потом я прочитал что нужно получить code, token с помощью ссылки:
String API_KEY = "API_TOKEN";
        String  APP_ID = "APP_ID";
        String REDIRECT_URI = "REDIRECT_URI";
        String SCOPE = "oauth-donation-index";
 
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://www.donationalerts.com/oauth/authorize?client_id="+ APP_ID + "&redirect_uri=" + REDIRECT_URI + "&response_type=code&scope=" + SCOPE + "oauth-donation-index"))
                .method("GET", HttpRequest.BodyPublishers.noBody())
                .build();
        HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
        System.out.println(response);

Пробывал сделать так но ссылка с "code" не генерирует

При переходе по ссылке выводит такой текст:
{"error":"invalid_client","error_description":"Client authentication failed","message":"Client authentication failed"}


Также пытался получить ссылку с помощью .header() но ситуация не изменяется

Подскажите как можно получить code, token DonationAlerts?
  • Вопрос задан
  • 2210 просмотров
Решения вопроса 1
@TTXSTM Автор вопроса
Для начала нужно собрать ссылку и открыть её через браузер
Desktop.getDesktop().browse(new URI("https://www.donationalerts.com/oauth/authorize?" + "client_id=" + APP_ID + "&redirect_uri=" + REDIRECT_URI + "&response_type=token" + "&scope=" + SCOPE));

Потом подтвердить доступ приложению к аккаунту DonationAlerts
вас перебросит на REDIRECT_URI где вы сможете из ссылки получить token

Дальше авторизация как из документации:
HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://www.donationalerts.com/api/v1/alerts/donations"))
                .header("Authorization", "Bearer  " + API)
                .method("GET", HttpRequest.BodyPublishers.noBody())
                .build();
        HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день.
Тут есть документация, где можно подробно прочитать:
https://www.donationalerts.com/apidoc
Прочитайте от: "1 - Application Registration" до "3 - Getting Access Token"

В вашем коде вы не определили значения этих переменных:
String API_KEY = "API_TOKEN";
        String  APP_ID = "APP_ID";
        String REDIRECT_URI = "REDIRECT_URI";
        String SCOPE = "oauth-donation-index";

Прочитав указанные выше главы, вы поймете, что нужно вписать туда.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
30 апр. 2024, в 14:11
40000 руб./за проект
30 апр. 2024, в 14:10
100000 руб./за проект
30 апр. 2024, в 14:08
5000 руб./в час