Steam APIを使って実績をExcelで管理しよう!
ここでExcelしか使えないのが技術的な話なのにダサさMAXでどうしようもない
Excel以外のいい感じのソフトないですかね?
最近ちょっと触り始めたSteam Web APIを使って実績をいろいろする方法についてメモ。
動機
アーケードでも稼働中の音楽ゲーム「GROOVE COASTER」のSteam版がリリースされている
アーケードでは、楽曲ごとに一定以上のスコアを出すなどの条件を満たすことによって「称号」を得ることができる。
Steam版でも、その一部*1が「Steam 実績」として用意されている。
Steam Community :: Groove Coaster :: Achievements
曲ごとに何個か用意されているので、1010個*2もの実績が存在することになる。
以前は手作業で表を作っていたが、DLC楽曲の追加のたびに作業をするのが面倒になってきたので、自動化したいと思い立った。
Steam Web API Keyを発行する
よし(適当) このとき、API Keyは無効にしないように 今後の作業が全てやり直しになってしまう (撮影のときにやらかしました)
情報収集
実績のデータを手に入れるためには、次のリストにある情報が必要になる
- api key (入手済)
- steam id
- app id
steam id
自分で名前として決められるID(customURL)ではなく、数値のみのIDが必要になる さっさと探してしまおう
steamID64の欄にある数値をコピーしよう
app id
ゲームの識別に使うIDも必要になる これはストアページのURLからわかるので簡単だ
ttps://store.steampowered.com/app/******/GAME_TITLE/
となっているので、 app と title の間の数値をコピーしよう
JSONデータを手に入れる
APIを叩いて実績のデータを出すためのURLの構文は、
https://api.steampowered.com/ISteamUserStats/GetPlayerAchievements/v1/ ?key=&steamid=&appid=&l=japanese
となる 先程から集めてきたデータをイコールのあとに順番に当てはめてほしい
これをブラウザにコピペすると...?
Excelで開く
JSONデータを手に入れたら、このページを参考に作業を進めていこう qiita.com
URLは先程作ったものをコピペすればよい
具体的にSteamの実績を出すためにクリックすべき部分は、下図に示す
仕上げ
achievedの列は、解除していない実績が0になる フィルタをかけて解除した実績を見えなくしよう
クエリのプロパティで、自動更新することもできる
最後に、条件付き書式で見栄えを変えれば...
お疲れ様でした
参考文献
Steam API Keyの作成 liginc.co.jp
JSON から Excel へのいろいろな処理 qiita.com
Steam APIの使い方が書いてあるサイト 公式のクッソ見づらいやつなんかよりずっと良い steamwebapi.azurewebsites.net