使用Steam WebAPI获取gam游戏的总时间

2024-10-01 13:39:53 发布

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

我正在尝试获取使用Steam API播放的TF2时间量。我现在使用:-在

http://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v0002/?appid=440&key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&steamid=xxxxxxxxxxxxxxxxx&format=xml

然后过滤XML并提取与每个类相关的播放时间(例如pyro(Pyro.accum.I播放时间)等等)。这样做很好,但是我认为缺少MVM类使我的最终值不正确(我的代码在Python中,当在线站点说超过1600小时时,返回977)。添加MVM类(可能还有其他类)可能会提供正确的结果,但这会使代码变得冗长。在

所以我想知道在Steam webapi中是否有一个调用,它只给我播放的总时间,而不必经过所有的提取和添加?在

我浏览了Steam webapi开发人员页面,但找不到任何关于我所追求的内容的参考。在

添加代码:

^{pr2}$

谢谢。在

马库斯


Tags: 代码comapihttp时间appidsteamwebapi
1条回答
网友
1楼 · 发布于 2024-10-01 13:39:53

把我的意见变成答案

我的理解是*.accum.iPlayTime字段对于您的place time是累积的,不管游戏模式或地图如何。根据我自己的统计数据(再看一下我朋友列表中的其他人),这和Steam社区报告的游戏时间完全吻合。此外,它还报告您的播放时间与您的TF2成就页面上的这些字段匹配。在

几句话:

  • 玩家档案上的摘要页面似乎与成就页面显示的实际统计数据不符。我不确定这是Steam社区问题还是其他字段的摘要。然而,“成就”页面使用了与GetUserStatsForGameAPI调用相同的数据,该页面按类详细列出了播放时间、最长寿命等。在
  • 您的代码中有一个非常小的格式化问题。最后一个print KISATime被缩进一到多次,因此多次打印KISA_Time =行。如果将其从for循环中拉出,则只会获得一次打印线。在
  • 如果您将finalTimeKISA = timeKISA / 60 / 60改为十进制60.0,您将得到十进制答案。否则,你只会收到一个整数的答案。在

相关问题 更多 >