steam api 快查

使用

获取 API 和 SteamID

import requests

API_KEY = "自行填入"
STEAM_ID = '自行填入'

BASE_URL = "https://api.steampowered.com"


def get(endpoint, params):
    params["key"] = API_KEY
    r = requests.get(f"{BASE_URL}/{endpoint}", params=params)
    r.raise_for_status()
    return r.json()



# 1. 用户基本资料
def get_profile(steam_id):
    data = get(
        "ISteamUser/GetPlayerSummaries/v2/",
        {"steamids": steam_id}
    )
    return data["response"]["players"][0]


# 2. 拥有的全部游戏 + 游玩时间
def get_games(steam_id):
    data = get(
        "IPlayerService/GetOwnedGames/v1/",
        {
            "steamid": steam_id,
            "include_appinfo": True,
            "include_played_free_games": True,
        }
    )
    return data["response"].get("games", [])


# 4. 最近玩过的游戏
def get_recent_games(steam_id):
    data = get(
        "IPlayerService/GetRecentlyPlayedGames/v1/",
        {
            "steamid": steam_id,
            "count": 20,
        }
    )
    return data["response"].get("games", [])


# 5. 好友
def get_friends(steam_id):
    data = get(
        "ISteamUser/GetFriendList/v1/",
        {
            "steamid": steam_id,
            "relationship": "friend",
        }
    )
    return data["friendslist"]["friends"]


# 6. Steam 等级
def get_level(steam_id):
    data = get(
        "IPlayerService/GetSteamLevel/v1/",
        {"steamid": steam_id}
    )
    return data["response"]["player_level"]


# 7. 徽章
def get_badges(steam_id):
    data = get(
        "IPlayerService/GetBadges/v1/",
        {"steamid": steam_id}
    )
    return data["response"]


# 8. 某游戏的个人成就
def get_achievements(steam_id, app_id):
    return get(
        "ISteamUserStats/GetPlayerAchievements/v1/",
        {
            "steamid": steam_id,
            "appid": app_id,
        }
    )


# 9. 封禁状态
def get_bans(steam_id):
    data = get(
        "ISteamUser/GetPlayerBans/v1/",
        {"steamids": steam_id}
    )
    return data["players"][0]

一些返回信息

get_games

  • 时间:单位都是分钟。显示友好:hours, minutes = divmod(minutes, 60); print(f"{hours} 小时 {minutes} 分钟")
  • has_community_visible_stats: app 本身是否可公开统计(与用户无关)

一些信息:

my_games = get_games(STEAM_ID)
print(my_games)

# 按游戏时间排序
my_games_sorted = sorted(my_games, key=lambda x: x['playtime_forever'], reverse=True)

#%% 获得一个游戏的 icon
my_games_one = my_games_sorted[0]

icon_url = (
    f"https://media.steampowered.com/"
    f"steamcommunity/public/images/apps/"
    f"{my_games_one['appid']}/{my_games_one['img_icon_url']}.jpg"
)

print(icon_url)

#%% 获得一个游戏的成就
my_achievement_one = get_achievements(STEAM_ID, my_games_sorted[6]['appid'])


您的支持将鼓励我继续创作!