以前過去の記事でスプレッドシートを利用した暗号資産の管理方法を紹介したのですが、時代の流れに伴い、有料化や廃止のサービスが増えてきました。
以前から愛用している「CRYPTO FINANCE」の価格提供サービスですが、こちらも有料となり、ボクのスプレもご覧の有り様。
Error: This data point is only available for Standard Cryptofinance subscribers. Please upgrade your subscription at http://cryptowat.ch/account/credits-billing for access.
そこで今回は、既存サービスの中でも、老舗の価格追跡ウェブサイト「CoinMarketCap」を利用して、スプレッドシートにリアルタイムで価格を表示させてポートフォリオ感覚で管理できる方法を見つけたのでご紹介します。
ちなみにこの方法を使えば、取引所に関係なく1000種類近くのほぼ全ての草コインの価格をリアルタイムで取得して、スプレッドシート上で管理が可能になります。
ちなみに以前解説している記事は以下のものです。
有料でも大丈夫な方は以下サイトを参考にしてみてもいいかもしれません。
【2021年最新版】超簡単、スプレッドシートで取引所の仮想通貨の価格管理する方法
目次
「CoinMarketCap」の無料APIを利用して価格をスプレッドシートに表示する方法
APIとはサイトが提供しているしている各種情報の事。
わかりやすいものでは、例えばお天気情報などを、プログラム的なもので取得して別サイトに表示したり、何かしらのシステムに利用したりする感じです。
プログラムとはいっても今回のものは形が決まっているため、システムがわからない初心者でも問題なくコピペで使用できます。
しかもAPI自体無料なので、利用しない手はないです。
では実際に、この「CoinMarketCap」の無料APIを取得して、サイト内にある仮想通貨のリアルタイムな価格を表示させたいと思います。
「CoinMarketCap」の無料APIを手に入れる
まずはAPIを手に入れるために、coinmarketcap.comにアカウントを作成します。
「sign up」からメールアドレスとパスワードを入力して、登録しましょう。
次に下記サイトからAPIキーを確認します。
coinmarketcap.comのAPIキー
「API Key」のところにカーソルをあわせるとコピーができます。
スプレッドシートにAPIを設置する
では、次にスプレッドシートを開きます。
スプレッドシートを開いたら、シートの上のメニューバーに「ファイル」とか「編集」とかのボタンがあると思います。
その中から、「拡張機能」をクリックして、「Apps Script」を選択します。
Apps Scriptページのエディタが開くと思います。
こちらにそのまま以下のコードをコピペして保存してください。
function crypto(ticker) {
var url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=" + ticker;
var requestOptions = {
method: 'GET',
uri: 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest',
qs: {
start: 1,
limit: 5000,
convert: 'USD'
},
headers: {
'X-CMC_PRO_API_KEY': 'ここにAPIキーを記述'
},
json: true,
gzip: true
};
var result = UrlFetchApp.fetch(url, requestOptions);
var txt = result.getContentText(); // JSON as a text
var jsonData = JSON.parse(txt);
var path = "jsonData.data." + ticker + ".quote.USD.price"; // path to the current price
var price = eval(path);
return price;
}
上のコードは実際に使用するAPIを使った価格取得コードです。
「CoinMarketCap」から取得したAPIキーを以下の”内に入れることをお忘れなく。
このAPIキーがないと表示されませんので。
これで準備が完了しました。非常に簡単です。
あとはスプレッドシートで価格表なり仮想通貨のポートフォリオなり好きに作るだけ。
スプレッドシートにリアルタイムの価格を表示させる
では実際に仮想通貨の価格を表示させてみます。
表示方法は、例えばビットコインの場合は、以下のようにしてコードを利用します。
=crypto("BTC")
環境によっては表示までに時間がかかる場合があります。
エラーが表示された場合は、記述に間違いがある可能性があるのでもう一度コードにコピペ間違いがないか見てみましょう。
価格を日本円(JPY)表示に変換する
上のやり方ではスプレッドシート上の価格がアメリカドル表示になっています。
分かりやすく日本円で表示したいという場合は以下のコードを利用します。
=GoogleFinance("currency:USDJPY", "average")
上のものはそのまま貼り付けるだけで現在のドル円価格を表示させることができます。
あとはこの数字を先ほどの価格に乗算すれば日本円に変換できますね。
「CoinMarketCap」の無料APIのメリットとデメリット
この方法を使えば「CoinMarketCap」内にあるほぼ全ての通貨の情報を取得できるので、種類だけで言えば1000種類近くのコインの価格をリアルタイムで監視することが可能です。
なんなら、ほかのAPIなどを利用すれば株式やFXなどと組み合わせてポートフォリオを作るすることもできると思います。
ただし、あまりに多くのリストを取得する場合は、うまく動作しない可能性はあります。
例えば一度に100種類とか、大量の価格情報を取得する際は表示するまでにタイムラグが出るかもしれません。
また、「CoinMarketCap」のAPI取得には上限があります。
現在はベーシックプランで1日あたり333件、1ヶ月あたり10000件の取得上限が決められているようです。
プランを上げるとこの上限を増やすことができるようですが、無制限にはできないようですね。
上限とか設定とかどうしてもめんどくさい方は、直接「CoinMarketCap」の無料ポートフォリオサービスを使ってみるのをお勧めします。
特に仮想通貨の管理だけでいい方は、下記方法で問題ないと思います。