如何获取有关 Steam 库中应用程序的区域限制的信息?

问题描述 投票:0回答:1

问题:

我要更改我的 Steam 区域。然而,我有一个很大的steam库,并且购买的一些游戏有区域限制,例如“该游戏只能在指定国家/地区运行”。这意味着,我的图书馆的一部分将在区域更改后变得不可用。我想知道我的库中哪些游戏不是区域免费的。不手动怎么办?

我尝试过的:

首先,我发现,关于区域限制的信息存储在Packages中。例如,我们在 Steam 中拥有 The Elder Scrolls V: Skyrim,其 AppID 72850。在“包”选项卡中,您会看到该游戏有多个版本。 Skyrim 有一个“全球”或“无区域”版本,带有 package 12248,但也有其他版本,例如带有 package 12100 的俄罗斯版本。对于后者,它只能在俄罗斯和独联体国家购买,因此,“此软件包只能在指定的国家/地区激活:俄罗斯和独联体国家”,并且“此软件包只能在指定的国家/地区运行:俄罗斯和独联体国家” ”。因此,如果您在俄罗斯购买《Skyrim》,则无法在其他地区运行它,并且如果您更改地区,它将在您的库中不可用。

在下一阶段,我在我的 Steam 帐户中获得了完整的应用程序列表。为此,您需要使用控制台运行 Steam 客户端(使用命令 steam -console 启动 steam)并编写命令

licenses_print

您可以在这里查看更多信息。有一些工具(例如 Steam License Parser)可以为您提供有关库中应用程序的一些信息,但是没有有关区域限制的信息。

我没有找到任何有关 Steam API 的综合文档,因此我尝试使用 python 和 Selenium 通过 SteamDB 站点解析有关区域限制的信息。由于我有所有包的列表,因此我可以直接访问包的页面,例如,对于 Skyrim:

https://steamdb.info/sub/12100/info/

,然后检查此页面是否有键 PurchaseRestrictedCountries
OnlyAllowRunInCountries
。只要没有“证明你不是机器人”就可以了。使用带有selenium的python应用程序打开第一页后,SteamDB的站点给你一个验证码,并且你无法打开该页面。

下一个解决方案是关于使用 Steam 应用程序信息链接

https://store.steampowered.com/api/appdetails?appids=72850

。但是,没有有关软件包的信息。例如,对于《Skyrim》,唯一提到的软件包是 12248,它对应于《Skyrim》的区域免费版本。没有关于其他包的信息,尽管 Skyrim 共有 61 个不同的包。

同时像

https://store.steampowered.com/api/packagedetails?packageids=12248

这样的套餐信息的直接链接不会给你任何关于区域限制的信息。

SteamDB 表示,他们只使用官方 Steam API,不使用其他任何东西。因此,由于有关区域限制的信息可在 SteamDB 站点上获得,因此它并不是什么秘密或隐藏得很深的东西。它应该仅通过官方 Steam API 提供。但是,我不知道如何访问这些信息。

所以我不知道如何解决这个问题。你能帮我吗?

python selenium parsing steam steam-web-api
1个回答
0
投票
此信息仅适用于 Steam 客户端,不能通过 Steam Web API 获取。在“licenses_print”之后,您将检查“package_info_print 12248”等许可证。

但是,这不是这里的问题。你有两个根本性的误解:

1:
https://steamdb.info/sub/12100/根本不在Steam上出售(对俄罗斯人),但它是俄罗斯零售密钥版本。如果您没有大量的区域锁定零售密钥激活,您不太可能拥有这些。 2:Steam 的“此游戏只能在指定国家/地区运行”仅适用于购买/密钥激活后 90 天内,因此实际上无关紧要。

© www.soinside.com 2019 - 2024. All rights reserved.