未拥有游戏时如何通过Steam API获取可用统计数据?
获取Steam游戏可用统计名称的解决方案
不用特意找拥有所有游戏的账号,Steam API本身就提供了直接获取游戏统计元数据的接口:
使用ISteamUserStats/GetSchemaForGame/v2/接口
这个接口专门用来拉取指定游戏的统计、成就等元数据,不需要指定用户的SteamID,只需要你的API密钥和目标游戏的AppID就能调用,返回的是游戏本身的统计定义,和用户是否拥有该游戏完全无关。
示例代码实现
import requests def get_game_stats_schema(appid, apikey): url = "http://api.steampowered.com/ISteamUserStats/GetSchemaForGame/v2/" params = { 'appid': appid, 'key': apikey } response = requests.get(url, params=params) response.raise_for_status() # 处理请求错误 schema_data = response.json() # 提取所有可用统计名称 stat_names = [] if (schema_data.get('game') and schema_data['game'].get('availableStats') and schema_data['game']['availableStats'].get('stats')): stat_names = [stat['name'] for stat in schema_data['game']['availableStats']['stats']] return stat_names # 调用示例 # stats = get_game_stats_schema(你的AppID, 你的API密钥)
优势说明
- 无需依赖特定用户账号,避免了账号所有权、权限变更带来的问题
- 直接获取游戏官方定义的统计数据,数据准确且稳定
- 接口调用逻辑简单,不需要额外处理用户所有权相关的分支
注意点
- 部分游戏可能没有配置公开的统计数据,此时接口会返回空的
stats数组,需要做好空值判断 - 确保你的API密钥处于有效状态,且没有超出调用频率限制
内容的提问来源于stack exchange,提问作者jcjakec
相关产品推荐
相关产品推荐

