我如何使用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
,但没有成功。这些统计数据的文档在哪里?
发布于 2015-01-05 03:49:42
我相信您在这方面使用了错误的API端点。改为使用GetUserStatsForGame
端点。
您的呼叫将如下所示:
http://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v0002/?appid=730&key=<<KEY>>&steamid=<<PROFILEID>>
您将用您的API替换<<KEY>>
,用您感兴趣的用户的配置文件ID (而不是SteamID)替换<<PROFILEID>>
。这个值与您通过阀的OpenID执行sign in时传递给您的值相同。
这将返回类似如下的结果:
{
"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
属性,以查找您正在查找的统计数据。
https://stackoverflow.com/questions/27752856
复制相似问题