我如何使用Steam Web API获取玩家的统计数据,例如“Total Kills”或“Total Wins”。某些使用这些功能的网站包括http://csgo-stats.com和http://csgo-stats.net。我尝试使用http://api.steampowered.com/ISteamUserStats/GetGlobalStatsForGame/v0001/?format=xml&appid=730&count=1&name[0]=total_wins
但没有成功。这些统计数据的文件在哪里?
答案 0 :(得分:9)
我相信你使用了错误的API终点。请改用GetUserStatsForGame
端点。
您的电话将如下所示:
http://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v0002/?appid=730&key=<<KEY>>&steamid=<<PROFILEID>>
您将使用您的API密钥替换<<KEY>>
,并使用您感兴趣的用户的个人资料ID(而非SteamID)替换<<PROFILEID>>
。此值与您传递给您时的值相同你sign in通过Valve的OpenID。
这将返回与此类似的结果:
{
"playerstats": {
"steamID": "7656-EDITED-OUT",
"gameName": "ValveTestApp260",
"stats": [
{
"name": "total_kills",
"value": 110527
},
{
"name": "total_deaths",
"value": 95930
},
{
"name": "total_time_played",
"value": 5784386
},
{
"name": "total_planted_bombs",
"value": 2726
},
{
"name": "total_defused_bombs",
"value": 594
},
{
"name": "total_wins",
"value": 26937
},
...
]
}
}
您可以看到,您需要遍历['playerstats']['stats']
元素,并查看每个元素的name
属性,以查找您要查找的统计信息。