大家好!在開發輕量級應用程式或個人專案時,許多人喜歡直接將 Google 試算表(Google Sheets) 當作資料庫使用。但過去若直接透過 Google Cloud Platform (GCP) 串接,經常會遇到需要綁定信用卡、權限設定繁瑣或突然調用失敗的問題。
一、 為什麼選擇「Cloudflare Workers + Google Apps Script」?
大幅提升讀取速度:GAS 響應時間通常約 1~2 秒,透過 Cloudflare 的 Edge 快取機制,讀取延遲可降至 50ms 以內。 提升安全性(隱藏後端與防刷):避免直接公開試算表與 GAS 網址,並在 Cloudflare 端加入 API 金鑰(Bearer Token)驗證,防止試算表被惡意刷爆。 資料結構最佳化:GAS 端自動將試算表的二維陣列轉換為前端好處理的 JSON 物件格式。 防止多人寫入衝突:GAS 內建使用 LockService 鎖定機制,避免多位使用者同時寫入時發生覆蓋錯誤。
二、 實作步驟教學
步驟 1:建立並部署 Google Apps Script (GAS)
開啟你的 Google 試算表,點選上方選單的 「擴充功能」>「Apps Script」。 貼入 AI 產生的 GAS 程式碼(負責處理 doGet 讀取資料與 doPost 寫入資料,並加入 LockService)。 點選右上角 「部署」>「管理部署作業」(或「新增部署作業」)。 種類選擇 「網頁應用程式」: 執行身分:選擇「我」(你的 Google 帳號)。 誰可以存取:務必選擇「所有人 (Anyone)」(這步非常重要,否則 Cloudflare 會無權存取)。
部署完成後,複製產生的 網頁應用程式網址(Web App URL) 備用。
步驟 2:建立 Cloudflare Worker
登入 Cloudflare 後台。 尋找 Worker 選單(注意:Cloudflare 近期介面改版,位置在左側選單的 )。 點選 「Create application」 ,選擇範本「Start with Hello World」 ,點選部署(Deploy)。部署完成後點擊 「Edit code」 ,將 AI 提供的 Worker 程式碼貼入,覆蓋原本的範例代碼,並儲存發布(Save and deploy)。
步驟 3:設定安全環境變數與金鑰(Variables and Secrets)
進入該 Worker 的管理頁面,切換到 「Settings」>「Variables and Secrets」 。新增環境變數: AUTH_TOKEN :自訂一組 API 金鑰字串(例如 tan_0331),作為呼叫 API 時的身分驗證。GAS_URL :貼上步驟 1 取得的 Google Apps Script 網址,並建議勾選「Secret / 加密」 進行保護。
點選儲存並重新部署。
三、 API 測試與除錯紀錄(以 Windows CMD 為例)
1. 寫入資料測試 (POST)
驗證結果 :指令送出後,回到 Google 試算表中查看,確認「李小華」已成功自動新增進去!
2. 讀取資料測試 (GET)
驗證結果 :終端機會回傳 status: 200 與 JSON 格式的試算表內容。
四、 新手踩坑經驗分享(Q&A)
Q1:在 Windows CMD 執行 curl 出現錯誤? 原因 :AI 預設給的指令可能帶有換行符號(\),在 Windows 命令提示字元下容易解析錯誤。請將指令整理成單一行 再執行。
Q2:出現 Could not resolve host 錯誤? 原因 :網址輸入錯誤或大小寫打錯(例如把數字 1 看成英文字母 l,或是小寫被自動轉換為大寫),請直接從 Cloudflare 後台點擊複製完整網址。
Q3:寫入時出現權限不足 (401 Unauthorized)? 原因 :curl 指令中的 -H "Authorization: Bearer <TOKEN>" 必須與你在 Cloudflare Worker 設定的 AUTH_TOKEN 完全一致。
沒有留言:
張貼留言