この記事では、Steam Web APIキーを取得し、Pythonから安全に読み込む方法をまとめます。Steam公式Web APIの一部メソッドを使う場合、APIキーが必要になります。
この記事でできること
- Steam Web APIキーの取得ページを確認する
- APIキーを
.envに保存する - PythonでAPIキーを読み込む
- APIキーが必要なAPIと不要なAPIを切り分ける
Steam Web APIキーとは
Steam Web APIキーは、Steam Web APIへアクセスするためのキーです。Steam CommunityのWeb APIドキュメントでは、APIキーの取得には登録フォームと利用規約への同意が必要と説明されています。
ただし、Steam関連のすべての取得方法でAPIキーが必要なわけではありません。Storefront APIの appdetails や appreviews、SteamSpy APIなどは、Steam Web APIキーとは別の扱いです。
APIキーを取得する
- Steamにログインする
- Steam Web API Key を開く
- ドメイン名を入力する
- 利用規約を確認して登録する
- 表示されたAPIキーを控える
個人のローカル分析で使う場合でも、APIキーは公開しない前提で扱います。ブログ記事、GitHub、スクリーンショット、Notebookの出力セルに残さないようにします。
.envに保存する
プロジェクト直下に .env を作成し、次のように保存します。
STEAM_API_KEY=ここにSteam Web APIキーを書く.env はGit管理から除外します。
.env
.env.*
!.env.exampleAPIキー管理の基本は、次の記事でも整理しています。
APIキーを外部ファイルで管理する方法|.envとconfig.iniの使い分け
Pythonで読み込む
import os
from dotenv import load_dotenv
load_dotenv()
STEAM_API_KEY = os.getenv("STEAM_API_KEY")
if not STEAM_API_KEY:
raise RuntimeError("STEAM_API_KEY が設定されていません")
print("Steam APIキーを読み込みました")確認時もキー本体は出力しません。必要なら先頭数文字だけを表示します。
接続確認の例
Steam Web APIの基本形は、公式ドキュメント上で http://api.steampowered.com/<interface>/<method>/v<version>/ のように説明されています。実際にはHTTPSで呼び出します。
import requests
url = "https://api.steampowered.com/ISteamUserStats/GetNumberOfCurrentPlayers/v1/"
params = {
"appid": 730,
"format": "json",
}
response = requests.get(url, params=params, timeout=30)
response.raise_for_status()
print(response.json())この例のように、公開情報の取得ではAPIキーなしで動くものもあります。キーが必要かどうかはメソッドごとに確認します。
まとめ
Steam Web APIキーは、Steam公式Web APIの一部メソッドを使うための認証情報です。取得後はコードへ直接書かず、.env に保存してPythonから読み込みます。