Google 試算表使用玉山富果(Fugle) API

更新

原 v0 版本將於 2021-06-26 終止服務。連結要改成 v0.2 喔!

前言

Google 試算表已經有一個好用的函式叫 GOOGLEFINANCE,比如用 GOOGLEFINANCE("TPE:2330") 就能拿到台積電的股價,不過這個函式只支援上市的股票

,上櫃/興櫃都是其他方式去抓,時好時壞,用沒多久可能就失效了!

這個月在玉山銀行辦了玉山證券富果帳戶,帳戶開通後就能使用他們的 API,免費方案一分鐘能呼叫60次,WebSocket 連線數5條,還有線上文件可以參考,平常就常在串接/開發 API,這個 API 不拿來用實在太可惜。

按照以下教學,就可以在 Google 試算表中用函式的方式拿到上市/上櫃/興櫃的股價:


玉山證券富果 API 文件

步驟1:先看一下線上文件,最終最終決定用 META(提供盤中個股/指數當日基本資訊) 這支 API,priceReference 就是今日參考價。


玉山證券富果開帳號取得 Token

步驟2:你要先有玉山證券富果帳戶,透過此連結開帳號你我都能得到富果幣回饋金,右上方帳號 > API 權限 / 管理,複製 API Token。




Google 試算表新增函式

步驟3:開一張新的 Google 試算表,工具 > 指令碼編輯器。


步驟4:在指令碼編輯器中貼上以下程式碼,儲存。


function FUGLEMETA(code)
{
  const url = "https://api.fugle.tw/realtime/v0.2/intraday/meta?symbolId=" + code + "&apiToken=貼上步驟2複製的API Token";
  const response = UrlFetchApp.fetch(url);
  const json = response.getContentText("UTF-8");
  const data = JSON.parse(json);
  return data.data.meta.priceReference;
}


步驟5:你這張 Google 試算表就多了一個函式 FUGLEMETA 可以用了,比如用 FUGLEMETA(2330) 就能拿到台積電的股價。



4 則回應:

何小明 提到...

您好,不好意思想請教您
若在 google sheets 裡使用 Quote API 的 price 最新一筆成交價格
是否會自動更新最新成交價呢?
小弟自己常用的是 Finmind 的 API (https://finmind.github.io/quickstart/)
雖然呼叫的次數比較少,但好處是不用特地去開戶
請問 google sheets 裡也可以使用 Finmind 的 API 嗎?
不好意思打擾您,謝謝您~

[ 小黑宅 ] 提到...

小明抱歉慢回復你了我看了一下  finmind 的文件如果申請 token 後你取得的 API 回應原則上是 JSON 那就能做成 Google Sheet 裡的函數使用(用法同我 blog 這篇所寫,只是你要看懂他回覆的 JSON)
如果你對 Google Sheet 裡頭寫 script 有興趣的話推薦這本 https://www.books.com.tw/products/0010849846
如果你有程式開發經驗我建議直接寫程式去接 API 就好我寫這篇是因為一般人還是習慣用 Google Sheet XD
: )

何小明 提到...

謝謝您 :)

匿名 提到...

請問富果3.0是一樣的做法嗎?
我有改網址,但試算表那邊一直說urlfetchapp那行有錯