用于访问信息并与用户交互。
参见
IPlayerService,了解其他方法。
请参见
Web API 概览,对如何使用 Steamworks Web API 了解更多。
CheckAppOwnership
GET https://partner.steam-api.com/ISteamUser/CheckAppOwnership/v2/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
steamid | uint64 | ✔ | 用户的 SteamID。 |
appid | uint32 | ✔ | 要查询其所有权的 AppID。 |
查看是否指定用户拥有该应用。
JSON 格式的响应将包含以下字段:
名称 | 类型 | 描述 |
---|
ownsapp | bool | 指明用户是实际所有者或应用。 |
permanent | bool | 用户是否永久拥有您的应用。通过家庭共享、免费周末、网吧计划获得的所有权则不为 true。 |
timestamp | string | 获取该应用的时间。 |
ownersteamid | uint64 | 如果用户是通过“家庭共享”访问此应用,则指明真正的拥有者。 否则,将会是传入的同一个 steamID。 |
sitelicense | bool | 指明用户是否通过网吧计划访问此应用。 |
此方法有官方不再支持的旧版。 旧版可以继续使用,但我们强烈建议您使用最新版本。
变更历史:
- Version 2 - 将元素 siteliense 添加至响应。
注意: 此调用要求拥有指定应用 ID 的发行商 API 密钥才能使用此方法。 因此,此 API
必须通过安全服务器调用,且绝不能由客户端直接调用!
GetAppPriceInfo
GET https://partner.steam-api.com/ISteamUser/GetAppPriceInfo/v1/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
steamid | uint64 | ✔ | 用户的 SteamID。 |
appids | string | ✔ | 逗号分隔的 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/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
rowversion | uint64 | ✔ | 一个未签名 64 位值,用来浏览已删除的帐户。 首次调用此 API 时传入 0,然后为每次的额外请求传入上次调用返回的值。 该值将需要存储在您的服务器上,以供将来调用使用。 |
您可以使用 GetDeletedSteamIDs 来获取已删除的、之前拥有您的游戏的帐户的列表。 创建此 API 是为了允许删除与用户相关的数据,以便遵守欧盟数据保护条例(GDPR),并服务于其他与个人信息有关的目的。
所提供的 Steamworks 发行商密钥可用于验证及生成用于核对的 appid 列表。
GetFriendList
GET https://partner.steam-api.com/ISteamUser/GetFriendList/v1/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 用户验证密钥。 |
steamid | uint64 | ✔ | 用户的 SteamID。 |
relationship | string | | 关系类型(如:好友)。 |
GetPlayerBans
GET https://partner.steam-api.com/ISteamUser/GetPlayerBans/v1/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 用户验证密钥。 |
steamids | string | ✔ | 逗号分隔的 SteamID 列表。 |
GetPlayerSummaries
GET https://partner.steam-api.com/ISteamUser/GetPlayerSummaries/v2/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 用户验证密钥。 |
steamids | string | ✔ | 逗号分隔的 SteamID 列表(最多 100 个)。 |
注意: 仅当您的网站需要显示有关用户的信息时,才应使用此调用。 如果您的游戏客户端需要此类信息,请改用客户端 API。
此方法有官方不再支持的旧版。 旧版可以继续使用,但我们强烈建议您使用最新版本。
变更历史:
以下为调用的响应示例:
"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/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
steamid | uint64 | ✔ | 用户的 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 格式的响应将包含以下字段:
名称 | 类型 | 描述 |
---|
appid | uint32 | 与您的 WebAPI 密钥相关联的 AppID |
ownsapp | bool | 用户当前是否拥有您的应用。通过购买、序列号、家庭共享、免费周末和网吧计划而获取的所有权为 true。 |
permanent | bool | 用户是否永久拥有您的应用。通过家庭共享、免费周末、网吧计划获得的所有权不为 true。 |
timestamp | string | 用户首次获得 appID 的时间,以 GMT 表示 |
ownersteamid | uint64 | 如果用户是通过“家庭共享”访问此应用,则指明真正的拥有者。 否则,将会是传入的同一个 steamID。 |
sitelicense | bool | 指明用户是否通过网吧计划访问此应用。 |
注意: 此调用需要发行商 API 密钥才能使用此方法。 因此,此 API
必须通过安全服务器调用,且绝不能由客户端直接调用!
GetPublisherAppOwnershipChanges
GET https://partner.steam-api.com/ISteamUser/GetPublisherAppOwnershipChanges/v1/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
packagerowversion | string | ✔ | 要从中读取程序包更改的未签名的 64 位行版本。 读取至的数据的行版本将返回,用于未来的调用。 |
cdkeyrowversion | string | ✔ | 读取序列号更改的未签名的 64 位行版本。 读取至的数据的行版本将返回,用于未来的调用。 |
此方法可以用于确定哪些 SteamID 从特定程序包或序列号行版本号开始有所有权变动。 从返回的 SteamIDs 列表,调用
GetPublisherAppOwnership 可以返回与传入序列号关联的列表中应用程序的相关所有权数据。 合作伙伴也许希望记录此数据以及链接的 Steam 帐户,以便更好地了解 Steam 上的产品所有权状态。
具体操作为,调用
GetPublisherAppOwnershipChanges,传入
packagerowversion 与
cdkeyrowversion,且值为 0(零)。 以下为调用的响应示例:
"ownershipchanges": {
"steamids": [
{
"steamid": "76561198114498811"
},
{
"steamid": "76561198114498812"
},
...
],
"packagerowversion": "12448390228",
"cdkeyrowversion": "49857241147",
"moredata": true
}
JSON 格式的响应将包含以下字段:
名称 | 类型 | 描述 |
---|
steamids/steamid | string | 自提供的行版本起更改的所有帐户的 SteamID 列表。 每个调用能返回不超过 10,000 个 SteamID。 |
packagerowversion | string | 与最后一次返回的 SteamID 一致的程序包行版本。 将此字符串保存,以用于未来调用 GetPublisherAppOwnershipChanges。 |
cdkeyrowversion | string | 与最后一次返回的 SteamID 一致的序列号行版本。 将此字符串保存,以用于未来调用 GetPublisherAppOwnershipChanges。 |
moredata | bool | 表示是否有更多更新的数据。 |
在首次调用返回后,进行以下操作:
- 为各 SteamID 调用 GetPublisherAppOwnership,以获得各 AppID 的实际所有权。 按需存储或使用该数据。
- 一旦处理完所有 SteamID,查看 moredata 值。 若为 true,对 GetPublisherAppOwnershipChanges 进行新调用,传入之前调用 GetPublisherAppOwnershipChanges 返回的 packagerowversion 与 cdkeyrowversion。
- 重复上面两个步骤,直到 moredata 返回 false。
- 存储最后的 packagerowversion 与 cdkeyrowversion 值,供以后(如 24 小时之后)的 GetPublisherAppOwnershipChanges 调用使用,而不需再次从 0(零)开始。
注意: 此调用需要发行商 API 密钥才能使用此方法。 因此,此 API
必须通过安全服务器调用,且绝不能由客户端直接调用!
GetUserGroupList
GET https://partner.steam-api.com/ISteamUser/GetUserGroupList/v1/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
steamid | uint64 | ✔ | 用户的 SteamID。 |
ResolveVanityURL
GET https://partner.steam-api.com/ISteamUser/ResolveVanityURL/v1/
名称 | 类别 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 用户验证密钥。 |
vanityurl | string | ✔ | 为 SteamID 获得的虚 URL。 |
url_type | int32 | | 虚 URL 类型。 1(默认):个人资料;2:组;3:官方游戏组。 |