追求真價值投資之道

科技宅男 – Google Sheets 匯入API 數據

相信有不少人都在使用 Google Sheets 記錄自己的資產,而部份人持有 Crypto 貨幣則未能將相關資料放到 Google Sheets 中自動更新。其實我們可以以 API 的方式將相關資料匯入到 Google Sheets 之中。

暫時 Google Sheet 內置 Bitcon (BTC) 及 Ethereum (ETH) 的價格資料,調取方法如下 :

=GOOGLEFINANCE("currency:BTCUSD")
=GOOGLEFINANCE("currency:ETHUSD")

但如果持有其他 Crypto 貨幣,例如 Binance Coin (BNB) 及 Dodge Coin (Doge) ,則未能使用 Google Sheets 內置功能取得相關資料。


使用 API 功能讀取 Crypto 資料事前準備

  1. 申請免費 CoinMarketCap 帳戶 (用於調取相關 Crypto 資料)
  2. 在Google Sheet 中安裝 API Connector

首先,到 CoinMarketCap 申請免費帳戶 (Basic – Free Basic Access for Personal Use),以獲得每日 333 個 API 請求限額。

申請完成後,進入 CoinMarketCap 系統頁面,將左面的 API Key 複製

圖片來源: CoinMarketCap

然後回到 Google Sheet 首先於左下角新增工作表

安裝 API Connector,再選擇外掛程式 – API Connector – Open

然後選擇 Create ,於 API URL path 中輸入以下代碼

https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=BTC,BNB&convert=USD
輸入你希望得到的Crypto 資料於 symbol= 後面

然後,於Headers 欄位左方分別輸入

X-CMC_PRO_API_KEY
Accept
完成圖

在右方則分別輸入

你的 CoinMarketCap API Key 
application/json

在 Authentication 選擇 None,Destination sheet 選擇 Set Current ,再為此 API 請求命名,然後 Save 及 Run。

最後為得出此結果

當中會包括一大堆無關重要的資料,而要找到最新報價,即可尋找 quote » USD » price

231.1628175 則是 BNB 的 USD 最新報價

自動更新

因為 Google 的限制, API 每小時最多只能自動更新一次

選擇 Schedule – Add New

選擇剛才設定的 API 請求,Run request 選擇 every hour,再輸入一個 Trigger name ,則會每小時自動更新。

要確定數據是否成功每小時自動更新,我們可以回到 CoinMarketCap 查看 API 紀錄。

結果顯示系統會每小時自己更新 API 數據一次

手動更新

正如上文所講,Google 內部限制了 API 的自動更新頻率,但並沒有限制手動更新頻率。

因此我們可以隨意手動要求 API 更新,以獲得最新的資料。

因為能夠得到最新的資料,所以即使 Google Sheet 內建了 BTC 價格查詢,但由於 Google Finance 的報價有一定延遲,我們也可以直接選擇使用 API 內獲得 BTC 的即時報價。

選擇 Refresh All Now ,即可要求 API 立即調取資料,即時更新。

但要留意,因為 CoinMarketCap 的免費 API 每日更新只有 333 個限額,而每次更新都會用掉一個更新限額,當到達每日上限後則會停止更新。


理論上,此 API 方法應該亦可以用作在Google Sheet 中獲得手動即時股票報價,但我未深究此方面的應用,有機會再與大家分享。

而使用 Excel 來記錄的朋友亦可以使用類似方法獲得相關資料。

如有任何問題,歡迎留言交流。


資料來源:
https://mixedanalytics.com/knowledge-base/import-coinmarketcap-data-to-google-sheets/

關於此作者

科技宅男

一個熱愛科技的宅男,在此分享科技的新奇熱事及軟件教學,歡迎大家互相交流。

3 留言

作者 科技宅男
追求真價值投資之道