暗号資産(仮想通貨)価格をGoogle Apps Script(GAS)とbitbank public APIを用いてGoogleスプレッドシート上で取得する
2020年8月16日 追記
bitbankに加えて、bitFlyer、GMOコインに対応したプログラムを公開しました。こちらもご参照ください。
Googleスプレッドシート上で暗号通貨価格を取得するためには、GOOGLEFINANCE関数があります。しかしながら、いくつかの主要な銘柄を除いて、反応しません。そこで、暗号通貨取引所のpublic APIを利用し、取引価格を取得するCRYPTOFINANCE関数を定義しました。
Googleスプレッドシートのツールバーの[ツール]ー[スクリプトエディタ]の順に開き、以下のコードを貼り付けることで利用できます。スクリプトエディタの開き方はこちらを参考にしてみてください。
//取引価格取得関数
function cryptoFinance(name) {
const result = getCoinData(name);
return result;
}
//取引価格の取得
function getCoinData(name) {
const URL_API = 'https://public.bitbank.cc/';
//API用にシンボルを整形
let symbol = '';
switch(name){
case 'BTC':
symbol += 'btc_jpy';
break;
case 'ETH':
symbol += 'eth_jpy';
break;
case 'LTC':
symbol += 'ltc_jpy';
break;
case 'MONA':
symbol += 'mona_jpy';
break;
case 'XRP':
symbol += 'xrp_jpy';
break;
case 'BCC':
symbol += 'bcc_jpy';
break;
default:
Logger.log('No data');
}
const result = Number(JSON.parse(UrlFetchApp
.fetch(URL_API + symbol + '/ticker')
.getContentText()).data.last);
return result;
}
利用時は通貨のシンボル(例:cryptoFinance("BTC"))を指定することで暗号通貨取引所bitbankの最新の取引価格(日本円)を取得できます。
bitbank-api-docs/public-api_JP.md at master · bitbankinc/bitbank-api-docs · GitHub
2020年8月9日 追記
シンボルの整形の部分をswitch case文を用いて書き直しました。動作については変更ありません。
2020年8月13日 追記
CRYPTOFINANCE関数の戻り値がString型となっていたため、Number型となるように修正しました。String型の状態だとスプレッドシート上で正しく計算が行われない場合がありそうです。