如何获取Steam用户CS2的JSON格式库存信息及解决请求报错
利用Steam交易链接获取CS2库存的实现思路
核心逻辑
Steam官方库存接口(如你使用的/profiles/{steamid}/inventory/json/730/2)会因用户隐私设置、反爬机制或会话权限不足返回Unsupported request。而交易链接是用户主动生成的授权凭证,允许第三方查看其可交易库存以发起交易,cs.money就是基于这个授权机制实现库存获取的。
具体实现步骤
解析交易链接提取关键参数
交易链接格式为steam://tradeoffer/new/?partner={STEAM_ID64}&token={TRADE_TOKEN},从中提取两个核心参数:partner:目标用户的SteamID64(数字格式的用户ID)token:用户在Steam隐私设置中生成的交易报价授权令牌
调用Steam交易报价初始化接口
通过Steam的交易报价启动接口,利用上述参数获取用户可交易库存:- 请求URL:
https://steamcommunity.com/tradeoffer/new/start - 请求方法:POST
- 表单参数:
partner:提取到的SteamID64token:提取到的交易令牌sessionid:从Steam社区会话Cookie或页面源码中获取的会话IDcsrf_token:Steam社区页面<meta name="csrf-token" content="XXX">标签中的CSRF令牌
- 请求URL:
解析响应提取库存数据
接口成功响应后,返回结果中的their_inventory字段即为目标用户的可交易库存。其中CS2物品对应appid=730、contextid=2的条目,可从中提取物品名称、磨损度、皮肤样式等信息。
注意事项
- 该接口仅能获取用户可交易状态的CS2物品,不可交易的物品不会被返回
- 必须携带合法的Steam会话凭证(sessionid和csrf_token),否则会被Steam拦截
- 需遵守Steam的API使用规则,避免频繁请求触发反爬限制
内容的提问来源于stack exchange,提问作者vegaLDN
相关产品推荐
相关产品推荐

