1. API 網址
本站已提供公開的行情 API,根網址為 https://zeroboss2006-crypto.pages.dev,不需要自己架站或申請金鑰。
Binance 現價與 24h 漲跌由本站即時轉取 Binance 公開行情,Binance 暫時無法連線時改用 Kraken;CoinGecko 市值與 1 年漲跌由本站每 15 分鐘快取一次,回傳結果裡的 stale 與 fetched_at 欄位可以看出資料時間。
2. 安裝試算表函數
下載 GoogleSheets.gs ↗,把全部內容貼到 Google Sheets「擴充功能 → Apps Script」,儲存後重新開啟試算表。若已有同名函數,請用這份取代;已有 onOpen 時需合併選單程式。安裝完成後可從「CRYPTO 行情 → 開啟布萊茲投資筆記母站」返回母站。
3. 輸入公式
免金鑰的 Binance USDT 現價:
=BINANCE_API("BTC", "price")
=BINANCE_API("BTCUSDT", "changepct")
CoinGecko USD 市值、年漲跌與名稱:
=CRYPTO_API("BTC", "marketcap")
=CRYPTO_API("BTC", "1y_changepct")
=NAME("BTC")
=CRYPTO_API("BTC", "stale")
=CRYPTO_API("BTC", "fetched_at")
在 A2:A101 放入幣種代號,一次輸出 5 個欄位(名稱、現價、24h、1 年、市值):
=CRYPTO_TABLE(A2:A101, "name,price,changepct,1y_changepct,marketcap")
或批次抓取 Binance 現價、24h 漲跌:
=CRYPTO_TABLE(A2:A101, "price,changepct", 0, "binance")
請留空右方及下方的輸出範圍。漲跌數值回傳比例,例如 0.025,將該欄設為百分比便會顯示 2.5%。
4. 自動更新
從試算表「CRYPTO 行情」選單執行「建立/更新重算時間」,首次執行需授權。接著讓公式參照建立的 Crypto設定!B1;新版腳本也會把這個時間納入快取鍵,因此時間更新後會真正重新取得 API 回應:
=CRYPTO_TABLE(A2:A101, "name,price,changepct,1y_changepct,marketcap", 'Crypto設定'!$B$1)
=BINANCE_API("BTC", "price", 'Crypto設定'!$B$1)
再選「啟用每 15 分鐘重算」。重新整理網頁、快取到期都不會單獨強制 Sheets 公式重算;不要傳入 NOW() 或 RAND()。選單會寫入 Crypto設定 工作表 A1:B1,請保留此區域。
HTTP API
以下連結可檢查目前環境的 JSON 回應:
GET /api/quotes?source=binance&symbols=BTC,ETH GET /api/quotes?source=coingecko&symbols=bitcoin,ethereum
回應包含 source、fetched_at、metadata_fetched_at、stale、warning、cache_seconds、percentage_unit 與依請求順序排列的 data。在試算表中可把 fetched_at、stale、warning 當作額外欄位使用,避免把來源中斷期間的舊快照誤認為即時報價。每列包含 price、changepct、1y_changepct、marketcap、marketcap_changepct、currency、source、updated_at。若 CoinGecko 從 Cloudflare 無法連線,端點可用 Kraken USD 現貨更新有相符交易對的 price,並以 5 分鐘 OHLC 計算可取得的滾動 24 小時 changepct;一次最多計算 20 種,缺少合格交易對或 24 小時參考點時不補值。市值與一年漲跌仍保留原快照時間並維持 stale: true,不把混合資料冒充完整即時快照。查無幣種會在該列回傳 error,缺少欄位為 null。
來源與更新頻率
Binance API 是伺服器端 REST 快照,快取 60 秒,幣價以 USDT 計價。若 Binance 封鎖 Cloudflare,API 會改用 CoinGecko USD 快照,並在 JSON 的 source 與 warning 清楚標示。它與看板中的瀏覽器 WebSocket 分開運作,不是秒級推播 API。
CoinGecko 目前提供市值前 100 種幣,以 USD 計價,快取 15 分鐘;同代號請改傳 CoinGecko ID。年漲跌與市值請直接使用 CRYPTO_API。
CoinGecko 資料由全站共用,每 15 分鐘時段最多更新 1 次;重新整理不會額外消耗該時段的 Demo 請求。來源故障時,7 天內的前次快照會回傳 stale: true、warning 與實際 fetched_at;超過 7 天則停止回傳,以免把過期行情當成可用資料。Binance 與 Apps Script 另有快取。批次公式比逐格呼叫更合適。