Steamworks 文献库
ISteamUser 接口
用于访问信息并与用户交互。

参见 IPlayerService,了解其他方法。

请参见 Web API 概览,对如何使用 Steamworks Web API 了解更多。

CheckAppOwnership

GET https://partner.steam-api.com/ISteamUser/CheckAppOwnership/v2/
名称类型是否必需描述
keystringSteamworks Web API 发行商验证密钥。
steamiduint64用户的 SteamID。
appiduint32要查询其所有权的 AppID。

查看是否指定用户拥有该应用。

JSON 格式的响应将包含以下字段:

名称类型描述
ownsappbool指明用户是实际所有者或应用。
permanentbool用户是否永久拥有您的应用。通过家庭共享、免费周末、网吧计划获得的所有权则不为 true。
timestampstring获取该应用的时间。
ownersteamiduint64如果用户是通过“家庭共享”访问此应用,则指明真正的拥有者。 否则,将会是传入的同一个 steamID。
sitelicensebool指明用户是否通过网吧计划访问此应用。

此方法有官方不再支持的旧版。 旧版可以继续使用,但我们强烈建议您使用最新版本。
变更历史:
  • Version 2 - 将元素 siteliense 添加至响应。

注意: 此调用要求拥有指定应用 ID 的发行商 API 密钥才能使用此方法。 因此,此 API 必须通过安全服务器调用,且绝不能由客户端直接调用!

GetAppPriceInfo

GET https://partner.steam-api.com/ISteamUser/GetAppPriceInfo/v1/
名称类型是否必需描述
keystringSteamworks Web API 发行商验证密钥。
steamiduint64用户的 SteamID。
appidsstring逗号分隔的 appid 列表(最多 100 个)。

注意: 此调用需要发行商 API 密钥才能使用此方法。 因此,此 API 必须通过安全服务器调用,且绝不能由客户端直接调用!

响应示例:
{ "price_info": { "220": { "packageid": 36, "currency": "USD", "initial_price": 999, "final_price": 999, "discount_percent": 0 } } }

GetDeletedSteamIDs

GET https://partner.steam-api.com/ISteamUser/GetDeletedSteamIDs/v1/
名称类型是否必需描述
keystringSteamworks Web API 发行商验证密钥。
rowversionuint64一个未签名 64 位值,用来浏览已删除的帐户。 首次调用此 API 时传入 0,然后为每次的额外请求传入上次调用返回的值。 该值将需要存储在您的服务器上,以供将来调用使用。

您可以使用 GetDeletedSteamIDs 来获取已删除的、之前拥有您的游戏的帐户的列表。 创建此 API 是为了允许删除与用户相关的数据,以便遵守欧盟数据保护条例(GDPR),并服务于其他与个人信息有关的目的。

所提供的 Steamworks 发行商密钥可用于验证及生成用于核对的 appid 列表。

GetFriendList

GET https://partner.steam-api.com/ISteamUser/GetFriendList/v1/
名称类型是否必需描述
keystringSteamworks Web API 用户验证密钥。
steamiduint64用户的 SteamID。
relationshipstring关系类型(如:好友)。

GetPlayerBans

GET https://partner.steam-api.com/ISteamUser/GetPlayerBans/v1/
名称类型是否必需描述
keystringSteamworks Web API 用户验证密钥。
steamidsstring逗号分隔的 SteamID 列表。

GetPlayerSummaries

GET https://partner.steam-api.com/ISteamUser/GetPlayerSummaries/v2/
名称类型是否必需描述
keystringSteamworks Web API 用户验证密钥。
steamidsstring逗号分隔的 SteamID 列表(最多 100 个)。

注意: 仅当您的网站需要显示有关用户的信息时,才应使用此调用。 如果您的游戏客户端需要此类信息,请改用客户端 API。

此方法有官方不再支持的旧版。 旧版可以继续使用,但我们强烈建议您使用最新版本。
变更历史:
  • Version 2 - 从数组中移除元素名称。

以下为调用的响应示例:

"response":{ "players":[ { "steamid":"77561198355051011", "communityvisibilitystate":1, "profilestate":1, "personaname":"Mister Manager", "lastlogoff":1556305001, "profileurl":"https://steamcommunity.com/profiles/77561198355051011/", "avatar":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/32/32f70a383a437d03af91d2f01a0776adf75201b5.jpg", "avatarmedium":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/32/32f70a383a437d03af91d2f01a0776adf75201b5_medium.jpg", "avatarfull":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/32/32f70a383a437d03af91d2f01a0776adf75201b5_full.jpg", }, { "steamid":"77561197978236369", "communityvisibilitystate":3, "profilestate":1, "personaname":"Olive The Dog", "lastlogoff":1556239336, "profileurl":"https://steamcommunity.com/id/olive_the_dog/", "avatar":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/41/555d2fbb879593c0565ce0489428a09c019feffa.jpg", "avatarmedium":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/41/555d2fbb879593c0565ce0489428a09c019feffa_medium.jpg", "avatarfull":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/41/555d2fbb879593c0565ce0489428a09c019feffa_full.jpg", } ] }

GetPublisherAppOwnership

获取 https://partner.steam-api.com/ISteamUser/GetPublisherAppOwnership/v3/
名称类型是否必需描述
keystringSteamworks Web API 发行商验证密钥。
steamiduint64用户的 SteamID。


此方法有官方不再支持的旧版。 旧版可以继续使用,但我们强烈建议您使用最新版本。
变更历史:
  • Version 3 - 将元素 siteliense 添加至响应。

以下为调用的响应示例:

"appownership":{ "apps":[ { "appid":60, "ownsapp":true, "permanent":true, "timestamp":"2005-04-03T17:50:29Z", "ownersteamid":"76561197978236369", "sitelicense":"false" }, { "appid":220, "ownsapp":false, "permanent":false, "timestamp":"NIL", "ownersteamid":"0", "sitelicense":"true" } ] }

JSON 格式的响应将包含以下字段:

名称类型描述
appiduint32与您的 WebAPI 密钥相关联的 AppID
ownsappbool用户当前是否拥有您的应用。通过购买、序列号、家庭共享、免费周末和网吧计划而获取的所有权为 true。
permanentbool用户是否永久拥有您的应用。通过家庭共享、免费周末、网吧计划获得的所有权不为 true。
timestampstring用户首次获得 appID 的时间,以 GMT 表示
ownersteamiduint64如果用户是通过“家庭共享”访问此应用,则指明真正的拥有者。 否则,将会是传入的同一个 steamID。
sitelicensebool指明用户是否通过网吧计划访问此应用。

注意: 此调用需要发行商 API 密钥才能使用此方法。 因此,此 API 必须通过安全服务器调用,且绝不能由客户端直接调用!

GetPublisherAppOwnershipChanges

GET https://partner.steam-api.com/ISteamUser/GetPublisherAppOwnershipChanges/v1/
名称类型是否必需描述
keystringSteamworks Web API 发行商验证密钥。
packagerowversionstring要从中读取程序包更改的未签名的 64 位行版本。 读取至的数据的行版本将返回,用于未来的调用。
cdkeyrowversionstring读取序列号更改的未签名的 64 位行版本。 读取至的数据的行版本将返回,用于未来的调用。

此方法可以用于确定哪些 SteamID 从特定程序包或序列号行版本号开始有所有权变动。 从返回的 SteamIDs 列表,调用 GetPublisherAppOwnership 可以返回与传入序列号关联的列表中应用程序的相关所有权数据。 合作伙伴也许希望记录此数据以及链接的 Steam 帐户,以便更好地了解 Steam 上的产品所有权状态。

具体操作为,调用 GetPublisherAppOwnershipChanges,传入 packagerowversioncdkeyrowversion,且值为 0(零)。 以下为调用的响应示例:

"ownershipchanges": { "steamids": [ { "steamid": "76561198114498811" }, { "steamid": "76561198114498812" }, ... ], "packagerowversion": "12448390228", "cdkeyrowversion": "49857241147", "moredata": true }

JSON 格式的响应将包含以下字段:

名称类型描述
steamids/steamidstring自提供的行版本起更改的所有帐户的 SteamID 列表。 每个调用能返回不超过 10,000 个 SteamID。
packagerowversionstring与最后一次返回的 SteamID 一致的程序包行版本。 将此字符串保存,以用于未来调用 GetPublisherAppOwnershipChanges。
cdkeyrowversionstring与最后一次返回的 SteamID 一致的序列号行版本。 将此字符串保存,以用于未来调用 GetPublisherAppOwnershipChanges。
moredatabool表示是否有更多更新的数据。

在首次调用返回后,进行以下操作:
  1. 为各 SteamID 调用 GetPublisherAppOwnership,以获得各 AppID 的实际所有权。 按需存储或使用该数据。
  2. 一旦处理完所有 SteamID,查看 moredata 值。 若为 true,对 GetPublisherAppOwnershipChanges 进行新调用,传入之前调用 GetPublisherAppOwnershipChanges 返回的 packagerowversioncdkeyrowversion
  3. 重复上面两个步骤,直到 moredata 返回 false。
  4. 存储最后的 packagerowversioncdkeyrowversion 值,供以后(如 24 小时之后)的 GetPublisherAppOwnershipChanges 调用使用,而不需再次从 0(零)开始。

注意: 此调用需要发行商 API 密钥才能使用此方法。 因此,此 API 必须通过安全服务器调用,且绝不能由客户端直接调用!

GetUserGroupList

GET https://partner.steam-api.com/ISteamUser/GetUserGroupList/v1/
名称类型是否必需描述
keystringSteamworks Web API 发行商验证密钥。
steamiduint64用户的 SteamID。

ResolveVanityURL

GET https://partner.steam-api.com/ISteamUser/ResolveVanityURL/v1/
名称类别是否必需描述
keystringSteamworks Web API 用户验证密钥。
vanityurlstring为 SteamID 获得的虚 URL。
url_typeint32虚 URL 类型。 1(默认):个人资料;2:组;3:官方游戏组。