2022年からRiot Games APIから高ランクプレイヤーの試合情報を取得する方法が変わった為、備忘録として残す。
全体の手順
- 高ランクのプレイヤーのsummoerIdを取得する
- 各プレイヤーのpuuidを取得する
- puuidに紐づくmatchIdを取得する
- matchIdに紐づく試合情報を取得する
- matchIdに紐づくタイムラインを取得する
※ タイムライン: いつ、どんなアイテムを購入したか? どのようなオブジェクトを破壊したか?など
2021年からの大きな変更点
日本サーバーの場合、エンドポイントはhttps://jp1.api.riotgames.com/lol
が決め打ちだったが、2022年から、3のmatchId取得からhttps://asia.api.riotgames.com/lol
に変更。
1. 高ランクのプレイヤーの情報を取得
手順: 取得したJSONの['entries']の中にある人数分のsummoerIdを抽出する
チャレンジャー帯
https://jp1.api.riotgames.com/lol/league/v4/challengerleagues/by-queue/RANKED_SOLO_5x5?api_key=[APIKEY]
グランドマスター帯
https://jp1.api.riotgames.com/lol/league/v4/grandmasterleagues/by-queue/RANKED_SOLO_5x5?api_key=[APIKEY]
マスター帯
https://jp1.api.riotgames.com/lol/league/v4/masterleagues/by-queue/RANKED_SOLO_5x5?api_key=[APIKEY]
2. 各プレイヤーのpuuidを取得
手順: 取得したJSONの中にあるpuuidを抽出する
https://jp1.api.riotgames.com/lol/summoner/v4/summoners/[SUMMONER_ID]?api_key=[APIKEY]
3. puuidに紐づくmatchIdを取得する
手順: 取得したJSONからmatchIdのリストを取得する
https://asia.api.riotgames.com/lol/match/v5/matches/by-puuid/[PUUID]/ids?queue=420&type=ranked&start=0&count=100&api_key=[APIKEY]
4. matchIdに紐づく試合情報を取得する
手順: 取得したJSONから必要な試合情報を取得する
https://asia.api.riotgames.com/lol/match/v5/matches/[MATCH_ID]?api_key=[APIKEY]
5. matchIdに紐づくタイムラインを取得する
手順: 取得したJSONから試合のタイムラインを取得する
https://asia.api.riotgames.com/lol/match/v5/matches/[MATCH_ID]?api_key=[APIKEY]
参考サイト
Riot Games API
https://developer.riotgames.com/apis
APIを利用する開発者用ドキュメント
https://developer.riotgames.com/docs/lol
メモ
-
各サーバーのエンドポイント
APIを利用する開発者用ドキュメントのPlatform Routing Valuesを参照 -
各サーバーのエンドポイント
APIを利用する開発者用ドキュメントのRegional Routing Valuesを参照 -
queueのパラメータについて
下記を参照
https://static.developer.riotgames.com/docs/lol/queues.json