暗号資産(仮想通貨)価格を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型の状態だとスプレッドシート上で正しく計算が行われない場合がありそうです。


いいなと思ったら応援しよう!