如何获取Steam库存API或获取所有Steam物品列表的方法?为什么有些网站拥有它?

8

我一直在寻找一种方法来制作SteamBot,以便将我的Steam库存礼物交换为钥匙或其他物品。

问题在于Steam库存....因为据我所知,它还没有官方API,所以我不能像dota2和tf2那样轻松做到!

我得到的最接近的东西是:

使用类似这样的链接,其中用户的用户名替换了“unluckyped”

http://steamcommunity.com/id/unluckyped/inventory/json/753/1

但有两个大问题!首先,它不是很详细,其次,最重要的是,它只向我展示了我拥有的物品!而不是整个Steam的物品!

所以,假设经过数小时的编码,我的机器人可以自动获取我给它的游戏名称,并设置价格,然后它可以工作,但仍然只有我拥有的列表,如果它被提供了新的东西,它将无法识别。除非!我还让它检查交易者的库存!

但是,有没有更简单的方法来获取所有列表?

像tf2outpost dota2outpost dota2league baazar.tf或dispencer.tf这样的网站如何显示Steam库存中的所有物品?

非常感谢大家:D希望我能找到答案:D

编辑:

我不知道我的问题的哪一部分太广泛了。

总之,我想要的是:

如何获取Steam的库存架构的完整列表?就像我使用的那样:

 http://api.steampowered.com/IEconItems_[AppID]/GetSchema/v0001/?key=[APIKey]

这个链接适用于Dota 2 / TF2或类似游戏,但不适用于Steam库存。

我该如何获取Steam库存的链接?

如果没有办法,那么像之前提到的一些网站,是如何做到的呢?

再次感谢。


为什么不去获取一个API密钥? - Andy
我已经尝试过了,但这并没有帮助我,因为API密钥可以用于获取Dota 2、TF2、CS GO等游戏的模式,但无法用于Steam库存。URL示例为:api.steampowered.com/IEconItems_[appid]/GetPlayerItems/v0001/?key=[apikey]。它适用于570(Dota 2)或TF2的appid,但不适用于Steam的753。 - Pedram
@Andy 抱歉,我复制粘贴了错误的网址,现在无法编辑,正确的网址是api.steampowered.com/IEconItems_[AppID]/GetSchema/v0001/?key=[APIKey]。 - Pedram
3
SteamBot已经支持此功能,使用GenericInventory。此外,“我不确定为什么这个问题被关闭了,可能是因为它过于宽泛”,如果有任何事情,它更具体,因为它涉及到特定网站的API。但由于我们在这里有很多关于相同API的问题,并且有好的答案,所以我看不到关闭它的理由。 - BlueRaja - Danny Pflughoeft
1个回答

4

我在查看我的旧问题时发现这个问题已经有近2.5千次的浏览量!所以我想既然我现在已经弄清楚了,我应该自己回答它,这样其他人也可以使用。

嗯,如果我没记错,那时我只是想要这个网址:

http://api.steampowered.com/ISteamApps/GetAppList/v0001/

它甚至不需要 API Key。它提供了一个包含所有 Steam 库存物品的大约 16k 个 AppID 的列表。
这个链接和我在上面提出的问题中提供的链接都可以用于获取所有物品的列表。
只需将 JSON 反序列化为可以轻松创建此 JSON 字符串的类,然后您可以对游戏或物品列表进行任何操作。
我建议您将 Newtonsoft.Json 添加到您的资源中,因为它会极大地帮助您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接