用於與使用者互動,以及存取相關資訊。
請見
IPlayerService 查看其它方法(Method)。
Steamworks Web API 的詳細使用方法請見
Web API 總覽。
CheckAppOwnership
GET https://partner.steam-api.com/ISteamUser/CheckAppOwnership/v2/
名稱 | 類型 | 必要 | 說明 |
key | string | ✔ | Steamworks Web API 發行商驗證金鑰 |
steamid | uint64 | ✔ | 使用者的 Steam ID |
appid | uint32 | ✔ | 用 AppID 查看所有權 |
檢查特定使用者是否擁有應用程式。
JSON 檔回應會包含以下欄位:
名稱 | 類型 | 說明 |
---|
ownsapp | bool | Indicates if the user is the actual owner or the app. |
permanent | bool | 使用者是否永久擁有您的應用程式。透過親友同享、免費週末或網咖計畫取得的所有權不會顯示為 true |
timestamp | string | Time that the app was acquired. |
ownersteamid | uint64 | 標示原擁有者,若使用者正透過親友同享存取此應用程式; 若非,則會與傳入的 SteamID 相同 |
sitelicense | bool | 標示使用者是否正在透過 PC 網咖計畫存取此應用程式 |
This method has previous versions which are no longer officially supported. They will continue to be usable but it's highly recommended that you use the latest version.
Change history:
- Version 2 - Adds element sitelicense to the response.
備註: This call requires the publisher API key that owns the specified App ID to use this method. As such this API
MUST be called from a secure server, and can never be used directly by clients!
GetAppPriceInfo
GET https://partner.steam-api.com/ISteamUser/GetAppPriceInfo/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API publisher authentication key. |
steamid | uint64 | ✔ | SteamID of user |
appids | string | ✔ | Comma-delimited list of appids (max: 100) |
NOTE: This call requires a publisher API key to use this method. As such this API
MUST be called from a secure server, and can never be used directly by clients!
Example Response:{
"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/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API publisher authentication key. |
rowversion | uint64 | ✔ | An unsigned 64-bit value used to page through deleted accounts. Pass 0 when calling this API for the first time, then pass the value returned from the previous call for each additional request. This value will need to be stored on your server for future calls. |
You can use GetDeletedSteamIDs to retrieve a list of deleted accounts that owned your game(s) before deletion. This API was created to allow for the deletion of user related data for GDPR and other personal information related purposes.
The provided Steamworks Publisher Key is used for both authentication and to generate the list of appids to check against.
GetFriendList
GET https://partner.steam-api.com/ISteamUser/GetFriendList/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API user authentication key. |
steamid | uint64 | ✔ | SteamID of user |
relationship | string | | relationship type (ex: friend) |
GetPlayerBans
GET https://partner.steam-api.com/ISteamUser/GetPlayerBans/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API user authentication key. |
steamids | string | ✔ | Comma-delimited list of SteamIDs |
GetPlayerSummaries
GET https://partner.steam-api.com/ISteamUser/GetPlayerSummaries/v2/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API user authentication key. |
steamids | string | ✔ | Comma-delimited list of SteamIDs (max: 100) |
NOTE: This call should only be used if your website needs to display information about a user. If your game client needs any of this information, please use the client APIs instead.
This method has previous versions which are no longer officially supported. They will continue to be usable but it's highly recommended that you use the latest version.
Change history:
- Version 2 - Removes element names from arrays
The response from the call will look something like this:
"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
GET https://partner.steam-api.com/ISteamUser/GetPublisherAppOwnership/v3/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API publisher authentication key. |
steamid | uint64 | ✔ | SteamID of user |
This method has previous versions which are no longer officially supported. They will continue to be usable but it's highly recommended that you use the latest version.
Change history:
- Version 3 - Adds element sitelicense to the response
The response from the call will look something like this:
"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"
}
]
}
The JSON response will contain the following fields:
Name | Type | Description |
---|
appid | uint32 | AppID associated with your WebAPI key |
ownsapp | bool | 使用者目前是否擁有您的應用程式。透過購買、序號、親友同享、免費週末或網咖計畫取得的所有權會顯示為 true |
permanent | bool | 使用者是否永久擁有您的應用程式。透過親友同享、免費週末或網咖計畫取得的所有權不會顯示為 true |
timestamp | string | GMT time for when the user first accquired the appID |
ownersteamid | uint64 | 標示原擁有者,若使用者正透過親友同享存取此應用程式; 若非,則會與傳入的 SteamID 相同 |
sitelicense | bool | 標示使用者是否正在透過 PC 網咖計畫存取此應用程式 |
NOTE: This call requires a publisher API key to use this method. As such this API
MUST be called from a secure server, and can never be used directly by clients!
GetPublisherAppOwnershipChanges
GET https://partner.steam-api.com/ISteamUser/GetPublisherAppOwnershipChanges/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API publisher authentication key. |
packagerowversion | string | ✔ | The unsigned 64-bit row version to read package changes from. The row version of data read up to will be returned for use in future calls. |
cdkeyrowversion | string | ✔ | The unsigned 64-bit row version to read CD Key changes from. The row version of data read up to will be returned for use in future calls. |
This method can be used to determine what SteamIDs have ownership changes starting from a particular package or key row version number. From the list of SteamIDs returned, a call to
GetPublisherAppOwnership can then return the associated ownership data for the applications in the group associated with the key passed in. A partner may wish to track this data in conjunction with linked Steam Accounts to better understand the state of product ownership on Steam.
To begin, make a call to
GetPublisherAppOwnershipChanges passing in
packagerowversion and
cdkeyrowversion with the values of 0 (zero). The response from the call will look something like this:
"ownershipchanges": {
"steamids": [
{
"steamid": "76561198114498811"
},
{
"steamid": "76561198114498812"
},
...
],
"packagerowversion": "12448390228",
"cdkeyrowversion": "49857241147",
"moredata": true
}
The JSON response will contain the following fields:
Name | Type | Description |
---|
steamids/steamid | string | The list of SteamIDs for any accounts that have changed since the provided row versions. Up to 10,000 SteamIDs will be returned per call. |
packagerowversion | string | The package row version that matches the last SteamID returned. Store this for future calls to GetPublisherAppOwnershipChanges |
cdkeyrowversion | string | The cd key row version that matches the last SteamID returned. Store this for future calls to GetPublisherAppOwnershipChanges |
moredata | bool | Indicates if more and newer data is available. |
After this first call returns:
- Make a call to GetPublisherAppOwnership for each SteamID to get the actual ownership per AppID. Store or use that data as needed.
- Once all the SteamIDs have been processed, check the value of moredata. If it is true, make a new call to GetPublisherAppOwnershipChanges passing in the packagerowversion and cdkeyrowversion as returned from the previous call to GetPublisherAppOwnershipChanges.
- Repeat Step 1 and 2 until moredata returns false.
- Store the final packagerowversion and cdkeyrowversion values for use in future GetPublisherAppOwnershipChanges calls (e.g. 24 hours later) instead of starting at 0 (zero) again.
NOTE: This call requires a publisher API key to use this method. As such this API
MUST be called from a secure server, and can never be used directly by clients!
GetUserGroupList
GET https://partner.steam-api.com/ISteamUser/GetUserGroupList/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API publisher authentication key. |
steamid | uint64 | ✔ | SteamID of user |
ResolveVanityURL
GET https://partner.steam-api.com/ISteamUser/ResolveVanityURL/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API user authentication key. |
vanityurl | string | ✔ | The vanity URL to get a SteamID for |
url_type | int32 | | The type of vanity URL. 1 (default): Individual profile, 2: Group, 3: Official game group |