Track-o-bot APIの使い方
あらまし
「はすれこ!」は、ハースストーン戦歴管理ツール「Track-o-bot」のAPI(Applicatoin Programming Interface)を利用して、Track-o-botに記録された戦歴を取り込んだり、逆に「はすれこ!」で登録した戦歴をTrack-o-botに送信する機能を実装しています。
Track-o-botのAPIを通じて提供される戦歴データは、例えば Vicious Syndicate の vs Data Reaper Report のデータの情報源として使われているなど、現在のハースストーンコミュニティにおいて非常に重要なものとなっています。Track-o-botのAPIを使うことで、自分自身の戦歴データを取得して加工したり、戦歴データを提供してハースストーンコミュニティに貢献する、といったことができるようになります。
Track-o-botのAPIの使い方については日本語の説明があまりないようなので、自分がわかっている範囲でまとめたものを公開します。
Track-o-bot APIを使うための準備
- Track-o-botをインストールして起動する。
- Track-o-botがタスクトレイに常駐するので、アイコンを右クリックして「Open Profile…」を選ぶ。
- ブラウザが立ち上がり、Track-o-botのProfileページが表示されるので、右上の歯車アイコンをタップして「API」を選択する。
- 以下のような画面が表示されるので、tokenの下にある「Reveal」をクリックすると、tokenにランダムな文字列が表示される(Regenerateをクリックすると、新しいtokenが生成される)。 画面に表示されているAPIのURLの「YOUR_API_TOKEN」を、tokenに表示された文字列に置き換えたものが、あなたの戦歴を取得するためのURLとなる(token=YOUR_API_TOKENのままでは取れないので注意)。
Track-o-botから自分の戦歴を取得する(GET)
上記の手順で生成されたURLに(GETメソッドで)アクセスすると、登録された対戦履歴がJSON形式で取得できる。
https://trackobot.com/profile/history.json?username=(Track-o-botが生成したユーザー名)&token=(APIのページで生成されたトークン)
※URLの後ろに「?page=ページ番号」を指定すると、更に前の履歴を取得できる。
取得できるデータのサンプル:
- 実際にはこのように整形されず、改行がないベタなJSONが返される。
- カードIDのデータソースとして使われている「Hearhstone API」は、ハースストーンのカードやセットの情報を取得することができるAPI。カードの画像や能力やフレーバーテキストなどの情報を得ることができたり、カード検索等の機能が自分で実装可能になるなど、便利なサービスを提供している。
track-o-botに自分の戦歴を登録する(POST)
track-o-botにAPI経由で戦歴を登録したい場合、以下のURLにPOSTメソッドでアクセスする。その際、BASIC認証用のヘッダを送る必要がある。
戦歴を登録するプログラムのサンプル:
- 対戦時にプレイしたカードがわかっている場合は、渡すデータに "card_history" を追加することで、履歴およびプレイしたカードから推測されるデッキタイプがTrack-o-botに記録されるものと思われる(未確認)。
- 登録に成功した場合、Track-o-botから「HTTP/1.1 201 Created」のリターンコードが返ってくるので、それでチェックを行う。
- 登録に成功した時には、以下の様なJSONが返ってくる。
失敗した場合、status(HTTPステータスコード)とerror(エラーメッセージ)が入ったJSONが返される。
謝辞
Track-o-botは、PCに常駐する戦歴管理ツールの中でも特に動作が軽量な素敵アプリですが、APIの形でデータを自由に提供しているところが何よりも素晴らしいと思います。
感謝します(アンドゥインっぽく)。