読者です 読者をやめる 読者になる 読者になる

hogepiyo

かつてはマイクラのModを作っていたがひざに矢を受けた

無知の知とプロとアマチュア

自分は無知であることを知っているのがプロ、それを知らないのがアマチュア。
知らないから、何でも試す。知らないから、何もしない。
たったこれだけの差なんだよなぁ。 クマ。

railsアプリをherokuにdeployしたときに起きた謎現象

雑記

Web系のAPIのキーを隠蔽するためにFigaroというgemを入れてやってたんだけど, herokuにdeployしてもなぜかAPI使うとこでエラーはくから, 何故か調べてたらキーに含まれる記号に\がついてて, それでエラーが起きていたという事実. ローカルではそんなことは起きなかったので, たぶんFigaroのherokuコマンドに問題あり? ただ自分がシングルクォートを使っていたのもあるのかなぁ・・・. わからないけどheroku config:setで直したら動いた. 謎現象.

Riot Games APIについてちらほら

LoL

Riot Games API

LoLの開発会社が試験的にAPIを提供している.
Riot Games API

LoLのアカウントがあれば登録可能. 登録すると開発者用のAPIキーがもらえる. また「Full API Reference」では個々のAPIを叩いて結果をJSONで受け取れる.

各項目を見ればわかるが, Riot直営サーバーのデータしか参照することはできない(Garena運営のシンガポール/台湾や, 中国サーバーなどのデータは得られない.

また各APIのバージョンはアップデートで変化する場合もあるので注意.

略称と対応

APIを利用するときにサーバーを選ぶ必要がある. ただし韓国(KR), トルコ(TR), ロシア(RU)は基本データ(lol-static-data)のみ提供の模様.

BR ブラジル
EUNE 東ヨーロッパ, 北ヨーロッパ
EUW 西ヨーロッパ
KR 韓国
LAN ラテンアメリカ(北中南米)
LAS ラテンアメリカ(南中南米)
NA 北アメリカ
OCE オセアニア
TR トルコ
RU ロシア

API

champion-v1.2

GET /api/lol/{region}/v1.2/champion 全チャンプの情報を取得する
GET /api/lol/{region}/v1.2/champion/{id} {id}のチャンプの情報を取得する

全チャンピオン/特定チャンピオンの利用可能かどうかの情報が得られる. チャンピオンごとの詳細ではないので注意. フリーチャンピオンかどうかや, バグがあって使えないかどうかなどが返ってくる.

game-v1.3

GET /api/lol/{region}/v1.3/game/by-summoner/{summonerId}/recent モナーIDの最近のゲームを取得

モナーIDは後述するsummonerでサモナーネームから調べることができる.

league-v2.4

GET /api/lol/{region}/v2.4/league/by-summoner/{summonerIds} 複数のサモナーIDからリーグのを取得(所属しているリーグ全てのデータを取得)
GET /api/lol/{region}/v2.4/league/by-summoner/{summonerIds}/entry 複数のサモナーIDからリーグのエントリーを取得(サモナーIDのデータのみ取得)
GET /api/lol/{region}/v2.4/league/by-team/{teamIds} 複数のチームIDからリーグを取得(所属しているリーグ全てのデータを取得)
GET /api/lol/{region}/v2.4/league/by-team/{teamIds}/entry 複数のチームIDからリーグのエントリーを取得(チームIDのデータのみ取得)
GET /api/lol/{region}/v2.4/league/challenger チャレンジャーTierのリーグを取得

(rankedのplacement matchを終えている)サモナー/チームの所属リーグを取得できる. 同リーグ内であればLPも得られる.

lol-static-data-v1.2

GET /api/lol/static-data/{region}/v1.2/champion 全チャンピオンのデータを取得
GET /api/lol/static-data/{region}/v1.2/champion/{id} {id}のチャンピオンのデータを取得
GET /api/lol/static-data/{region}/v1.2/item 全アイテムのデータを取得
GET /api/lol/static-data/{region}/v1.2/item/{id} {id}のアイテムのデータを取得
GET /api/lol/static-data/{region}/v1.2/mastery 全マスタリーのデータを取得
GET /api/lol/static-data/{region}/v1.2/mastery/{id} {id}のマスタリーのデータを取得
GET /api/lol/static-data/{region}/v1.2/realm サーバーのデータを取得
GET /api/lol/static-data/{region}/v1.2/rune 全ルーンのデータを取得
GET /api/lol/static-data/{region}/v1.2/rune/{id} {id}のルーンのデータを取得
GET /api/lol/static-data/{region}/v1.2/summoner-spell 全サモナースペルのデータを取得
GET /api/lol/static-data/{region}/v1.2/summoner-spell/{id} {id}のサモナースペルのデータを取得
GET /api/lol/static-data/{region}/v1.2/versions バージョンの情報を取得

static(静的な)データ, すなわち非プレイヤーに関するデータを取得する. チャンピオン, アイテム, マスタリー, ルーンなどの詳細な数値を取得できる. realmはそのサーバーに適用されているパッチのバージョン情報であり, versionはパッチのバージョン履歴の模様.

stats-v1.3

GET /api/lol/{region}/v1.3/stats/by-summoner/{summonerId}/ranked モナーIDからrankedマッチのデータを取得
GET /api/lol/{region}/v1.3/stats/by-summoner/{summonerId}/summary モナーIDから全マッチのデータを取得

モナーIDの統計データを取得できる.

summoner-v1.4

GET /api/lol/{region}/v1.4/summoner/by-name/{summonerNames} モナーネームからサモナーIDを取得
GET /api/lol/{region}/v1.4/summoner/{summonerIds} モナーIDからいくつかのデータを取得
GET /api/lol/{region}/v1.4/summoner/{summonerIds}/masteries モナーIDからマスタリーを取得
GET /api/lol/{region}/v1.4/summoner/{summonerIds}/name モナーIDからサモナーネームを取得
GET /api/lol/{region}/v1.4/summoner/{summonerIds}/runes モナーIDからルーンを取得

モナーに関するデータを取得できる. 先述したAPIに必要なサモナーIDはこれらから取得できる.

team-v2.3

GET /api/lol/{region}/v2.3/team/by-summoner/{summonerIds} モナーIDが属しているチームのIDを取得
GET /api/lol/{region}/v2.3/team/{teamIds} チームIDからチームのデータを取得

team rankedのデータを取得できる. 先述したAPIに必要なチームIDはこれらから習得できる.

何を作るか

ざっとAPIについてまとめてみたが, これで何作ろうか.

League of Legends

LoL

を始めてもう1年と3カ月くらい経つんですけどまだ飽きずにやってるしまだranked行かないチキンだしノーマル楽しい。