[PHP]Steam Web APIでゲーム情報を取得してみる


以前興味本位でsteam web apiのことを調べてみたんで、その時調べたコードを書いてみようと思います。

steam側で公開されているゲーム情報を取得するためのapiがあるんですが、けっこう簡単なコードの記述で指定したゲームのタイトルとかを取得できました。

こういった情報を元になんかウェブサイトとか作れないかなぁ(・x・

<?php
// ここにゲームタイトルの番号を入れる
$appid = 0;

// ゲーム基本情報の取得
$appUrl = "https://store.steampowered.com/api/appdetails?appids={$appid}&amp;cc=JP&amp;l=japanese";

// cURLセッションを初期化
$ch = curl_init();

// cURLオプションを設定
curl_setopt($ch, CURLOPT_URL, $appUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

// リクエストの実行
$response = curl_exec($ch);

// cURLセッションのクローズ
curl_close($ch);

// jsonデータを連想配列に変換する
$appData = json_decode($response, true);

// データが無ければ終了
if (!$appData || !$appData[$appid]['success']) {
    die("ゲーム情報の取得に失敗しました。");
}

// ゲーム情報を変数に代入
$info = $appData[$appid]['data'];

// ゲームタイトル表示
echo $info['name'];

?>

appid変数にゲームタイトルの番号を入れます。番号はsteamのゲームのストアページのurlを見ればわかると思います。

 
このapiでは、ゲームタイトル1本分の情報しか取得できない(たぶん)のでそこが不便ですね。