GoogleスプレッドからAPIを呼び出して暗号通貨の現在価格(JPY)を取得する方法



Googleスプレッドでポートフォリオ作成してて気づいた

どうもこんばんは。3連休は台風の影響で雨なので家でまったりです。

で、週末の暴落相場に目がくらみ、バラバラといろいろな通貨に手を出しております。

やっとGoogleスプレッドに整理して資産管理をはじめました。

購入時のレートは静的に記録しつつ、現在値を都度手動で更新してポートフォリオ的に損益確認できるようにスプレッドシートを作成しました。

で、気づいたのですが、現在価格って手動で更新せずに、APIで取得すれば良いのでは?と思いあたりました。我ながら確かに!

ということで、今日は、暗号通貨の現在価格をAPIから取得する方法をお伝えします。

別に開発とかたいそうな感じではないです。Excel感覚ですぐに実現できましたので誰でも気軽にできると思いますよ。



使ったもの

今回以下を使いました。

  • Googleスプレッド(GoogleドキュメントのExcelのこと)
  • GoogleAppScript(Googleスプレッド付属アプリ)
  • CoinMarketCapのREST API

GoogleAppScriptはGoogleスプレッドから起動(別ウィンドウで)できます。

スクリプト実行には権限を与える必要がありますが、その他は特に問題なく使えます。

ユースケース

今回はGoogleスプレッドで各暗号通貨の現在値を取得するようにします。

通貨指定でJPYの現在価格(Price)を取得できるように関数化します。

Googleスプレッドのひとつのセルに”=関数名(通貨名)”と設定すると現在値を取得するようにしたいですね。(完成は以下のイメージ)

現在値の取得はCoinMarketCapのREST APIを使わせてもらいます。

coincheckやzaifなどの取引所のAPIを使ってもよいのですが、一箇所で大量に通貨の情報が取れた方が今後のためには楽ちんなので、CoinMarketCap にしました。

CoinMarketCapのAPIリファレンスは以下です。

https://coinmarketcap.com/api/


 

スクリプト

じゃあ、さくっとスクリプト化しちゃいましょう。

まず、GoogleAppScriptというスクリプトエディタを起動します。

Googleスプレッドの「ツール」ー「スクリプトエディタ」から起動できます。

そしたらコード.gsってところに以下のソースコードを貼り付けちゃいましょう。

貼り付けたら「保存アイコン」で保存してください。

スクリプト化はこれだけです。簡単。

実行してみよう!

Googleスプレッドに戻って、任意のセルに以下を貼り付けてみてください。

うまくいけば

と表示されるはずです。(数字はそのときのBTC価格JPYです)

あとは、関数に与える()内をセルに記載すれば

このように色々な通貨の現在値を取得することができます。

APIって便利ですねー!

この現在値の情報から保有通貨の資産管理ができますね。

Googleスプレッドを開くたびに最新情報をとってきてくれるようです。


 

いちお解説

スクリプトの解説をします。

3行目でAPIを読んでます。URLの一部に暗号通貨名が入る必要がありますので、関数のパラメータで受け取った”currency”をURLに指定しています。

またGETのQueryStringでオプションとして”convert=JPY”を指定しています。

日本円のPriceとVolumeを取得することができます。指定しないとUSDがデフォルトです。

4行目でAPIのレスポンスデータ(JSON)をパースしています。

現在値(Price)以外にも色々な情報が取れています。(が、使わないので今回は捨てています。詳細はAPIドキュメント参照)

5行目でprice_jpyを取得してreturnしています。

最後に

今回、初めてGoogleAppScriptとAPIを使ってRestfulなツール(?)に触れてみました。意外と手早くやりたいことができてとても満足です。便利な世の中です。

APIを使うと他にもいろんなこと(情報取得と判断、からの取引まで全自動化とか)できそうで、夢が膨らみました。こんな経験ができるのも暗号通貨のおかげ!

みなさんもAPI使ってみてください。では。


1件のコメント

コメントは停止中です。