はじめに
初めまして!
今回はAPIの学習の一環としてVALORANTのAPIを使用して情報を取得したいと思います。
よろしくお願いします!
APIでデータを取得する手順
今回VALORANTの情報を以下の手順で取得します。
1.Riot Gamesの開発者用サイトにアクセスする
2.Riotアカウントでログインする(アカウントがない場合は作成する)
3.APIキーを発行する
4.リクエストを送信する
5.情報の取得
1.Riot Gamesの開発者用サイトにアクセスする
まず最初にRiot Gamesの開発者用のサイトにアクセスします。
下のリンクからアクセスできます↓
https://developer.riotgames.com/
2.Riotアカウントでログインする
Riot Gamesの開発者用サイトにアクセスした後、ログインしていない場合はログインを行なってください。
サイトの右上にLOGINと書いてある部分をクリックすることでログインページに飛ぶことができます。自身のアカウントを所持していない場合はこのページでアカウントを作成してください。
画面の右上に自分のアカウント名が書いてあればログイン完了です。
3.APIキーを発行する
ログイン完了後右上の自身のアカウント名をクリックし、DASHBORDをクリックしてください。
するとこの画面に遷移します。
この画面でShowボタンを押すと自身のAPIキーを確認できます。
APIキーが発行されていなかったり、Expireのところに表示されている有効期限が切れていた場合は新しくAPIキーを発行してください。
これでAPIキーの発行は完了です。
4.リクエストを送信する
次にAPIにリクエストを送信してみましょう。まず右上のアカウント名をクリックし、APPSをクリックしてください。
するとこのような画面に遷移します。
今回はVALORANTのキャラクターの情報を取得したいので、val-status-v1を探し、クリックしてください。
するとそのAPIで取得できるデータを確認することができます。
では一度リクエストを送信してみましょう。
画面を下までスクロールするとこの表示があると思います。
一度この画像の通りに情報を入力し、EXCUTE REQUESTをクリックしてください。(処理には時間がかかります。)
そうすると実際にレスポンスを確認することができると思います!
pythonで実際に取得してみる
これからは実際にVALORANTのキャラクター名をAPIを使って取得してみましょう。
今回はキャラクター名を取得したいので、charactersのnameを取得したいと思います。
まずターミナルで以下のパッケージをダウンロードしてください。
pip install requests
これでパッケージをインストールすることができました。
コードは以下の通りです。
import requests
# APIキーを設定
api_key = 'RGAPI-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'#先ほど確認したAPIキーに変更してください
# APIエンドポイントURL
url = 'https://ap.api.riotgames.com/val/content/v1/contents'
# ヘッダーにAPIキーを追加
headers = {
'X-Riot-Token': api_key
}
# APIリクエストを送信
response = requests.get(url, headers=headers)
# レスポンスをJSON形式で取得
agents_data = response.json()
# エージェント名を表示
for agent in agents_data['characters']:
print(agent['name'])
このコードを実行することでAPIからキャラクター名を取得できました!
最後に
これでVALORANTのAPIを使用してキャラクターの名前を取得することができました!
RiotGamesが提供しているAPIは他にもLOLやTFTに関するものもあるのでぜひ試してみてください!
おまけ
取得したデータを利用してランダムで構成を決めてくれるプログラムを追加しました。
もしVALORANTをプレイしていて構成に困った人やいつもの構成に飽きたという人は使ってみてください
import requests
import random
# APIキーを設定
api_key = 'RGAPI-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' # 先ほど確認したAPIキーに変更してください
# APIエンドポイントURL
url = 'https://ap.api.riotgames.com/val/content/v1/contents'
# ヘッダーにAPIキーを追加
headers = {
'X-Riot-Token': api_key
}
# APIリクエストを送信
response = requests.get(url, headers=headers)
# レスポンスをJSON形式で取得
agents_data = response.json()
# エージェント名を取得
agent_names = [agent['name'] for agent in agents_data['characters'] if agent['name'] != "Null UI Data!"]
# ランダムで5つのエージェント名を表示
random_agents = random.sample(agent_names, 5)
for agent in random_agents:
print(agent)