0
我有一個Java蒸汽交易機器人,可以通過蒸汽讀取未完成的貿易優惠並根據需求降低它們。我正在使用官方Web API(使用來自http://steamcommunity.com/dev/apikey的API密鑰)將請求傳遞給Steam。變量trade
來自我自己的API接口(我已經調試過並且適用於拒絕優惠)。接受來自Steam的使用Web-API和Java的貿易優惠
SteamPlug.steamRequest(method, query);
僅僅是一個基本的HTTP請求:
public static String steamRequest(String method, String query) {
try {
URL obj = new URL(query);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod(method);
int responseCode = con.getResponseCode();
if (responseCode != 200 && responseCode != 201) {
return "ERR" + responseCode;
}
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
return response.toString();
} catch (MalformedURLException | ProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
// Ignored
}
return null;
}
這是怎麼拒絕貿易提供:
SteamPlug.steamRequest(
"POST",
"http://api.steampowered.com/IEconService/DeclineTradeOffer/v0001/?key="
+ SteamPlug.API_KEY + "&tradeofferid=" + trade.getTradeOfferId()
);
我所試圖做的是接受行業也是如此。我曾經嘗試這樣做:
SteamPlug.steamRequest(
"POST",
"https://steamcommunity.com/tradeoffer/" + trade.getTradeOfferId() + "/accept?key="
+ SteamPlug.API_KEY
);
但是我收到一個411 Length Required
響應。
我相信我可以通過使用Steam會話認證來接受優惠,但可以僅使用用戶的Web-API密鑰接受交易優惠嗎?
是的我已閱讀過這些文檔。不過,我相信另一種解決方法是讓機器人發送報價,儘管這也沒有記錄。 – Momo
好槍是反對蒸汽ToS(至少市場部分),所以我非常懷疑API將允許發送或接受交易。 Plus API主要用於擴展和東西,因此允許以這種方式接受交易是不安全的。 –