[英]Retrieve a list of installed games from the Steam API
我正在研究Steam Roulette程序,并且正在尝试创建过滤器。 我要实现的过滤器之一是(如果用户数据已经加载了SteamWorks)是返回他/她已在计算机上安装的游戏列表(最好以App ID形式),然后我可以进行比较在我的原始完整列表中删除不需要的值; 就像过滤器一样,可以从可能选择的游戏列表中删除用户未在其计算机上安装的游戏。
如果:
Steam轮盘赌是一种在线趋势,以Web应用程序的形式出现,用户可以从他/她的Steam库中选择一个随机游戏并进行玩。
现在,我正在使用Web API检索用户详细信息,该API使用通过SteamUser.GetSteamID().ToString()
检索的Steam ID并将其输入:
string apiURL = "http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=" + APIKey + "&steamid=" + id + "&format=json&include_appinfo=1";
然后从那里读取返回的.json
信息,以生成可供程序选择的游戏列表。
我可以使用任何SteamWorks功能来检索计算机上安装的游戏列表(与玩家拥有/拥有的所有游戏相反),而无需读取各自文件夹的Steam库吗?
如果不存在可能的功能,是否有任何方法可以手动(在API之外)获取已安装游戏的列表?
此文件C:\\Program Files (x86)\\Steam\\steamapps\\libraryfolders.vdf
包含所有本地蒸汽库的路径。 (不包括默认库中的一个)
然后,得到的只是得到的值steam_appid.txt
多数民众赞成位于每个游戏的文件夹( {library}\\steamapps\\common\\{game}\\steam_appid.txt
),你将拥有所有已安装的游戏蒸汽应用程序ID列表。
我一直在自己做。 不幸的是,steam api不会返回可以可靠地告诉您它是否已安装在您的PC上的值。 但是,浏览一下安装游戏的文件夹(我的文件夹是“ C:\\ Program Files(x86)\\ Steam \\ steamapps \\ common”),我发现每个游戏文件夹都包含一个文本文件,该文件带有Steam应用程序ID。 因此,您可以递归地查看每个文件夹并首先构建ID列表。 然后,将应用程序ID列表与JSON getOwnedGames一起使用以获取全名和其他信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.