Steam Web API GetOwnedGames多个SteamID

2024-04-29 16:17:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我们试图获得很多用户的游戏,但我们的问题是,一段时间后,API调用限制(每天100.000)开始生效,我们就无法获得结果。在

我们在调用中使用'IPlayerService/GetOwnedGames/v0001/?key=APIKEY&steamid=STEAMID',它适用于第一个条目。在

还有其他几个查询,比如GetPlayerSummaries查询,它使用多个Steam id,但是根据文档,这个查询只接受一个Steam id。在

有没有其他方法可以合并我们的查询?我们使用Python和urllib.request库来创建请求。在


Tags: key用户文档apiid游戏条目steam
2条回答

根据请求的有效负载,您有以下几种可能性:

  • 如果每个请求只带来最新的更新,那么当您得到的响应达到每日限制时,您可以序列化steam ID
  • 如果您能够通过请求有效负载控制接收到的数据,那么您可以使用多线程/多处理方法来使用来自两个共享资源的请求查询和steam ID

正如@andrehihondrari在其回答下的评论中间接指出的那样,人们可以请求获得一个API密钥,该密钥可以获得超过每天100000次的调用。这在“Steam Web API和Steam数据许可证”部分中说明:

You are limited to one hundred thousand (100,000) calls to the Steam Web API per day. Valve may approve higher daily call limits if you adhere to these API Terms of Use.

这可能很复杂,当然你也有可能得不到批准,但这几乎是你唯一稳定的方法。


此外,理论上可以使用多个Steam Web API密钥,但是:
  • 每个API密钥仍然有每天100000次调用的限制,因此您需要实现故障保护和已用密钥之间的转换,并且可能需要创建大量帐户。在
  • 由于每个用户都有自己特定的friendlist和blocked list,API键可以独占地“查看”Steam社区的一部分(否则好友数据不公开)。因此,您可能使用的是一个API密钥,而您本可以使用另一个API密钥来正确地“查看”某个用户,但却无法“看到”某个用户。在
  • 每个创建的帐户都需要一个唯一的电子邮件地址。在

注:拥有多个帐户实际上符合阀门ToS根据this post on Arqade。在

相关问题 更多 >