Вход API Steam API не работает. Есть ли другой способ?

Поскольку проект кажется устаревшим каким-то образом, есть ли другое решение?

Пол ван Ассен написал библиотеку (https://github.com/pvanassen/steam-api), которая помогает логин и другие взаимодействующие вещи с паром.

Единственное, что не работает для меня, - это часть входа. Мой метод входа:

public void login(String cookies) {
    this.steamService = StoreFactory.getSteamStore(cookies, "[Username]");
    try {
        steamService.getLoginService().login("[Username]", "[Password]");
    } catch (SteamGuardException ex) {
        String steamGuard = JOptionPane.showInputDialog("SteamGuardCode:");
        steamService.getLoginService().loginSteamGuard("[Username]",
                "[Password]", ex.getEmailSteamId(), "[NameOfDeviceInSteamGuard]",
                steamGuard);
    } catch (CapchaException ex) {
        System.out.println(ex.getCapchaUrl());

        String captcha = JOptionPane.showInputDialog("CaptchaCode:");

        steamService.getLoginService().loginCapcha("[Username]",
                "[Password]", ex.getCapchaGid(), captcha);
    } catch (VerificationException e) {
        System.out.println("Not working ... \n " + e.toString());
    }
}

Моя строка файла cookie выглядит следующим образом:

"Steam_Language=english; steamCountry=[XYZ]; steamLogin=[XYZ]; steamLoginSecure=[XYZ]; sessionid=[XYZ]; webTradeEligibility=[XYZ]; steamRememberLogin=[XYZ]";

Если я попытаюсь напечатать сообщение об ошибке, все, что я получаю, это пустая строка.

У меня есть Mobile Authenticator включен, если это помогает!

Но другие вещи, например, перечисляющие покупаемые товары с рынка сообщества, работают с этим API.

//По-прежнему нет решения после долгого времени = (- что еще я могу сделать D:?

Ответы

Ответ 1

Вы не используете файлы cookie. Я предполагаю, что вы пытаетесь использовать файлы cookie здесь: this.steamService = StoreFactory.getSteamStore(addCookies, "[Username]");. Здесь переменная называется addCookies вместо cookies.

Ответ 2

Вместо использования устаревшего проекта было бы лучше посмотреть на API интерфейса Steam. Вы можете просмотреть эти здесь. По-видимому, они используют OpenID для аутентификации, и у них есть несколько других API, которые вы можете использовать.

Нет ничего плохого в написании собственной реализации Java, используя стандартные HTTP-вызовы.