Steamworks 文獻庫
ISteamUser Interface
用於與使用者互動,以及存取相關資訊。

請見 IPlayerService 查看其它方法(Method)。

Steamworks Web API 的詳細使用方法請見 Web API 總覽

CheckAppOwnership

GET https://partner.steam-api.com/ISteamUser/CheckAppOwnership/v2/
名稱類型必要說明
keystringSteamworks Web API 發行商驗證金鑰
steamiduint64使用者的 Steam ID
appiduint32用 AppID 查看所有權

檢查特定使用者是否擁有應用程式。

JSON 檔回應會包含以下欄位:

名稱類型說明
ownsappboolIndicates if the user is the actual owner or the app.
permanentbool使用者是否永久擁有您的應用程式。透過親友同享、免費週末或網咖計畫取得的所有權不會顯示為 true
timestampstringTime that the app was acquired.
ownersteamiduint64標示原擁有者,若使用者正透過親友同享存取此應用程式; 若非,則會與傳入的 SteamID 相同
sitelicensebool標示使用者是否正在透過 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/
NameTypeRequiredDescription
keystringSteamworks Web API publisher authentication key.
steamiduint64SteamID of user
appidsstringComma-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/
NameTypeRequiredDescription
keystringSteamworks Web API publisher authentication key.
rowversionuint64An 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/
NameTypeRequiredDescription
keystringSteamworks Web API user authentication key.
steamiduint64SteamID of user
relationshipstringrelationship type (ex: friend)

GetPlayerBans

GET https://partner.steam-api.com/ISteamUser/GetPlayerBans/v1/
NameTypeRequiredDescription
keystringSteamworks Web API user authentication key.
steamidsstringComma-delimited list of SteamIDs

GetPlayerSummaries

GET https://partner.steam-api.com/ISteamUser/GetPlayerSummaries/v2/
NameTypeRequiredDescription
keystringSteamworks Web API user authentication key.
steamidsstringComma-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/
NameTypeRequiredDescription
keystringSteamworks Web API publisher authentication key.
steamiduint64SteamID 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:

NameTypeDescription
appiduint32AppID associated with your WebAPI key
ownsappbool使用者目前是否擁有您的應用程式。透過購買、序號、親友同享、免費週末或網咖計畫取得的所有權會顯示為 true
permanentbool使用者是否永久擁有您的應用程式。透過親友同享、免費週末或網咖計畫取得的所有權不會顯示為 true
timestampstringGMT time for when the user first accquired the appID
ownersteamiduint64標示原擁有者,若使用者正透過親友同享存取此應用程式; 若非,則會與傳入的 SteamID 相同
sitelicensebool標示使用者是否正在透過 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/
NameTypeRequiredDescription
keystringSteamworks Web API publisher authentication key.
packagerowversionstringThe 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.
cdkeyrowversionstringThe 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:

NameTypeDescription
steamids/steamidstringThe list of SteamIDs for any accounts that have changed since the provided row versions. Up to 10,000 SteamIDs will be returned per call.
packagerowversionstringThe package row version that matches the last SteamID returned. Store this for future calls to GetPublisherAppOwnershipChanges
cdkeyrowversionstringThe cd key row version that matches the last SteamID returned. Store this for future calls to GetPublisherAppOwnershipChanges
moredataboolIndicates if more and newer data is available.

After this first call returns:
  1. Make a call to GetPublisherAppOwnership for each SteamID to get the actual ownership per AppID. Store or use that data as needed.
  2. 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.
  3. Repeat Step 1 and 2 until moredata returns false.
  4. 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/
NameTypeRequiredDescription
keystringSteamworks Web API publisher authentication key.
steamiduint64SteamID of user

ResolveVanityURL

GET https://partner.steam-api.com/ISteamUser/ResolveVanityURL/v1/
NameTypeRequiredDescription
keystringSteamworks Web API user authentication key.
vanityurlstringThe vanity URL to get a SteamID for
url_typeint32The type of vanity URL. 1 (default): Individual profile, 2: Group, 3: Official game group