こんにちは。ビットコおじさんだよ。

新カテゴリ追加。API入門だよ!

アピー?( ゚Д゚)ハァ?

「エーピーアイ(Application Programming Interface)」って読むよ。
なんで、ビットコインブログが急にプログラムとかはじめるんだ!って?

ビットコインの良いところはインターネット上で通貨のやり取りができることだよね。
それだけじゃなくて、取引所が公開しているAPIを使えば、相場の情報をリアルタイムで取ってきたりもできるし、入出金もプログラムからできたりするよ。
APIを使えばチャートも自分で作ろうと思えば作れるし、取引を自動化とかもできるよ。

そんな無限の可能性を秘めたAPIを使わないともったいない!
とはいえ、そんなに使う機会もないかもしれないけど、覚えておいて損はないはず。

まあ、とりあえずは入門なので簡単なものしかやらないけど、色々と応用していったら仮想通貨の新しいサービスとかも作れちゃったりして!

.。゚+.(・∀・)゚+.゚

でも、サーバーとか借りたりしなきゃいけないんじゃないの?とか、プログラムとか覚えないといけないんじゃないの?とか、敷居が高そうだね。
おじさん、なるべくタダで簡単にできる方法を調べたよ。

APIを動かすのには、「Google Apps Script」っていうのを使うよ。省略して「GAS」って言われてるみたい。最近はなんでもGoogleで使えて便利だねー。
プログラムはJavaScriptでできるんだって。JavaScriptなら初心者向けの解説サイトとかもいっぱいあるし、わからないことが出てきてもなんとかなりそうだね。

じゃあさっそくAPIを使ったウェブアプリケーションを作ってみよう!
今回はコインチェックのAPIを使って、コインチェックの価格を表示してみるよ。


みんなはグーグルアカウント持ってるかな?
持っていなかったらグーグルアカウント作ってね。

Googleにログインしたら、Google Chromeのメニューから「Googleドライブ」を選ぶよ。

gas0
引用元:google.co.jp

Googleドライブが開いたら、「新規」→「その他」→「+アプリを追加」を選ぶ。

gas1
引用元:google.co.jp

一覧から「Google Apps Script」を選ぶ。

gas2 
引用元:google.co.jp

「接続」をクリック。

gas3
引用元:google.co.jp

「OK」をクリック。

gas4
引用元:google.co.jp

次に、「新規」から「その他」を選ぶと「Google Apps Script」が追加されているので選んでね。

gas5
引用元:google.co.jp

「無題のプロジェクト」っていうのが開くよ。

gas6
引用元:google.co.jp

メニューの「ファイル」→「新規作成」→「HTMLファイル」を選んで、プロジェクトにHTMLファイルを追加するよ。

gas7
引用元:google.co.jp

ファイル名は「index.html」にするよ。

gas8
引用元:google.co.jp

新しくできた「index.html」には最初からテンプレートぽいHTMLタグが書かれているので、<body>タグのところに「<?= msg ?>」を追加するよ。
<!DOCTYPE html><html>
  <head>
    <base target="_top">
  </head>
  <body>
    <?= msg ?>
  </body>
</html>

gas9
引用元:google.co.jp

次に左のタブから「コード.gs」を選択。

「コード.gs」の内容を下記に書き換えるよ。
function doGet() {
  var cc_response = UrlFetchApp.fetch("https://coincheck.com/api/ticker");
  var cc_json = JSON.parse(cc_response.getContentText());
  
  var html = HtmlService.createTemplateFromFile('index.html');
  html.msg = "売:" + cc_json["bid"] + " 買:" + cc_json["ask"];
  return html.evaluate();
}

gas10
引用元:google.co.jp

「コード.gs」を超簡単に説明するね。

1行目:「doGet()」ってなんだろね?おじさんもよくわからないけど、ウェブアプリケーションを作る時にはこういうふうに書かないといけないみたいだよ。

2行目:「UrlFetchApp.fetch」っていうのAPIを呼び出してるところ。今回はコインチェックのAPIを呼んでみたよ。

3行目:「JSON.parse」っていうのは、APIから返ってきたJSON形式のデータを使いやすくするためにパース(解析)するってこと。APIってのはだいたい「JSON」っていうのでデータを返してくるよ。

5行目:「HtmlService.createTemplateFromFile」は、WEBアプリケーションの表示に「index.html」をテンプレートとして使いますよってことね。

6行目:さっき書いたindex.htmlの「<?= msg ?>」に「"売:" + cc_json["bid"] + " 買:" + cc_json["ask"]」を表示するよ。cc_json["bid"]にはコインチェックのBid(売値)データ、cc_json["ask"]にはAsk(買値)データが入ってるよ。

どんなデータが取れるのかとかは、取引所が公開しているドキュメントを読んだら書いてあるよ。今回使ったのはコインチェックの「ティッカー」っていうやつ。
https://coincheck.com/ja/documents/exchange/api#ticker
↑詳しくはここに書いてあるよ。

7行目:「return html.evaluate();」で、たぶんテンプレートに表示を反映させているんだと思う。わかんないけど。

「コード.gs」の内容を変更したらメニューの「ファイル」から「すべてを保存」してね。

gas19
引用元:google.co.jp

プロジェクト名を入力しろって言われるので、適当に名前を付けてね。
とりあえず「APIテスト」にしておいた。

gas11
引用元:google.co.jp

保存できたらさっそく動かしてみよう!
メニューの「公開」から「ウェブアプリケーションとして導入」を選ぶよ。

gas18
引用元:google.co.jp

とりあえずは自分だけ見れればいいから、実行とかアクセスできるユーザーは自分にしておいて「導入」をクリック。

gas12
引用元:google.co.jp

「承認が必要です」って言われるので、「許可を確認」をクリック。

gas13
引用元:google.co.jp

アカウントを選ぶ。

gas14
引用元:google.co.jp

Googleが検閲しているのか、たまに許可されてないことがあるんだけど、しばらく時間を置いてやり直すと先に進めるようになるので、うまくいかないときは5分ぐらいしてからやり直してみてね。
アクセスを許可するか聞かれるので「許可」をクリック。

gas15
引用元:google.co.jp

ウェブアプリケーションとして導入されると、アクセス先のURLが表示されるよ。

gas16
引用元:google.co.jp

「最新のコードをテストします。」っていうところをクリックすると、テストが動くよ。

gas17

キタ━━━━(゚∀゚)━━━━!!

こんな感じで、コインチェックの価格が表示されるよ。
リアルタイムなのでブラウザを更新すると価格が変わるよ。

今回はこの辺まで。

なんとなくAPIとGASの使い方はわかったかな?
今回はコインチェックのAPIを使ったけど、ビットフライヤーやザイフのAPIを使えばそれぞれの取引所の情報を表示することができるよ。
一画面に並べて表示したら、自分が使っている取引所の価格を比べることもできちゃうね!

ほとんどの取引所がAPIを公開しているので、APIとGASを極めればオリジナルの取り引きアプリケーションも作れちゃうかも。

じゃあまた。

 ← 応援ポチっとお願いします。

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin

bitFlyer ビットコインを始めるなら安心・安全な取引所で