はじめに
筆者は普段Steamでゲームを買ってプレイしていますが、知っているゲームはほんの一握りで、探せばいくらでもあると思います。
なのでランダム要素を交えたゲーム検索アプリを作ってみようと思います。
まずはPHPが動く環境を作る
過去に作ったアプリのdocker-compose.ymlを適当に書き直して立ち上げます。
dockerfile
このあたりは一度作れば使いまわしが効くので楽です!
画面を作る
とりあえずヘッダーを以前使ったものから流用します。
(気持ち程度にFontAwesomeを使ってみました。)
Steamからゲームのデータを取る方法を調べる
Steamが提供しているAPIは、
'https://api.steampowered.com/ISteamApps/GetAppList/v2/'(ゲームのID(appid), 名前(name)を調べるAPI)
'https://store.steampowered.com/api/appdetails?appids=xxxxx'(ゲームの詳細情報を調べるAPI)
このあたりが使えそうなので試してみます。
ゲームの一覧をGetAppListで取得し、appdetailsで詳細を取得する
粗削りながら動作するバージョンが完成しました。
作りながら思ったのですが、やはり日本語非対応のゲームも数多くあり、日本語サポートをしているゲームのみ取得するようにしてみました。(47行目)
vueファイル。hrefを"https://store.steampowered.com/app/${game.appid}
"
とすることでSteamのゲームのページへアクセスすることができます。
Bootstrapでお手軽にデザインが整えられるので助かります。
できたものがこちら。任意の件数を結果として表示し、ボタンクリックでSteamのページへアクセスできます。
おわりに
一通り作り終えましたが、やはり改善点は多々あります。
・速度の向上
今のところ数十秒かかってしまっているため、なんとか方法を見つけたいです。
・アダルトコンテンツが含まれる
appdetailで取得できるか詳しく見ていないのですが、検索結果に含まれてしまいます。
・キープ機能の追加
Steamのウィッシュリストのようにゲームタイトルを保存できるようにしたいです。
・カテゴリで絞り込む/検索機能
カテゴリはあるものの、普段目にしている’ユーザタグ’はAPIで取得できないとのことで残念です。
総括して、月並みながらなかなか面白いものが作れるのだなと思いました。
他のAPIをいろいろ試してみるのも楽しいかもしれませんね。
安心安全のホワイト高還元SESに転職を考えている方へ
転職活動は自分自身を知り、成長する貴重な機会でもあり、夢や成長を追求するためには必要な要素の一つになるかと思います。
どのような選択をされるにせよ、あなたのその決断が素晴らしい未来を切り開くことを願っております!
我々グラディートと一緒に誇れるエンジニアを目指しませんか?
■『株式会社グラディート』では受託開発・SES・ブランディング・デザイン・各種コンサルティングなどを行う東京都渋谷区のIT企業です。現在、不遇な待遇で困っているITエンジニアさんは、ぜひ一度グラディートに相談してみてね!(年収査定・転職相談も承っております!)
株式会社グラディート採用情報はこちら▼
https://en-gage.net/gradito/
株式会社グラディート公式サイトはこちら▼
https://www.gradito.co.jp/