Steam API登录不起作用 - 还有别的方法吗?

由于该项目似乎以某种方式被弃用,还有其他解决方案吗?

Paul van Assen写了一个库(https://github.com/pvanassen/steam-api),它有助于登录和其他与Steam交互的东西。

唯一对我不起作用的是登录部分。我的登录方法:

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());
    }
}

我的饼干字符串看起来像这样:

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

如果我尝试打印错误消息,我得到的只是一个空字符串。

我现在已经启用了移动身份验证器,如果这有帮助!

但其他事情,例如列出来自社区市场的可购买物品,正在使用此API。

很长一段时间后仍然没有解决方案=( - 我还能做些什么 D:?


答案 1

您没有使用 Cookie。我假设您正在尝试在此处使用 Cookie:.这里调用变量而不是 。this.steamService = StoreFactory.getSteamStore(addCookies, "[Username]");addCookiescookies


答案 2

与其使用已弃用的项目,不如查看Steam的API。您可以在此处查看这些内容。显然,他们使用OpenID进行身份验证,并且他们还有其他一些可以使用的API。

使用标准 HTTP 调用编写自己的 Java 实现没有错。


推荐