2026年11月15日 星期日

【教學】如何利用免費 Cloudflare Workers 連接 Google 試算表?透過 Google AI Studio 快速搞定前後端串接!

大家好!在開發輕量級應用程式或個人專案時,許多人喜歡直接將 Google 試算表(Google Sheets) 當作資料庫使用。但過去若直接透過 Google Cloud Platform (GCP) 串接,經常會遇到需要綁定信用卡、權限設定繁瑣或突然調用失敗的問題。

最近有網友在留言分享:「其實可以透過 Cloudflare 來當作中繼代理,完全不需要綁信用卡,而且免費額度非常夠用!」

因為我之前沒有使用過 Cloudflare 的經驗,這次特別請教了 Google AI Studio,請 AI 擔任技術顧問,從程式碼生成、架構優化到偵錯一手包辦。這篇文章就為大家整理完整的實作流程與踩坑筆記!


一、 為什麼選擇「Cloudflare Workers + Google Apps Script」?

AI 分析後指出,這種架構不僅完全免費(Cloudflare Workers 每天提供高達 10 萬次的免費請求額度),還解決了傳統直接使用 Google Apps Script (GAS) 的四大痛點:

  1. 大幅提升讀取速度:GAS 響應時間通常約 1~2 秒,透過 Cloudflare 的 Edge 快取機制,讀取延遲可降至 50ms 以內。

  2. 提升安全性(隱藏後端與防刷):避免直接公開試算表與 GAS 網址,並在 Cloudflare 端加入 API 金鑰(Bearer Token)驗證,防止試算表被惡意刷爆。

  3. 資料結構最佳化:GAS 端自動將試算表的二維陣列轉換為前端好處理的 JSON 物件格式。

  4. 防止多人寫入衝突:GAS 內建使用 LockService 鎖定機制,避免多位使用者同時寫入時發生覆蓋錯誤。


二、 實作步驟教學

步驟 1:建立並部署 Google Apps Script (GAS)

  1. 開啟你的 Google 試算表,點選上方選單的 「擴充功能」>「Apps Script」。

  2. 貼入 AI 產生的 GAS 程式碼(負責處理 doGet 讀取資料與 doPost 寫入資料,並加入 LockService)。

  3. 點選右上角 「部署」>「管理部署作業」(或「新增部署作業」)。

  4. 種類選擇 「網頁應用程式」:

    • 執行身分:選擇「我」(你的 Google 帳號)。

    • 誰可以存取:務必選擇「所有人 (Anyone)」(這步非常重要,否則 Cloudflare 會無權存取)。

  5. 部署完成後,複製產生的 網頁應用程式網址(Web App URL) 備用。


步驟 2:建立 Cloudflare Worker

  1. 登入 Cloudflare 後台。

  2. 尋找 Worker 選單(注意:Cloudflare 近期介面改版,位置在左側選單的 )。

  3. 點選 「Create application」,選擇範本 「Start with Hello World」,點選部署(Deploy)。

  4. 部署完成後點擊 「Edit code」,將 AI 提供的 Worker 程式碼貼入,覆蓋原本的範例代碼,並儲存發布(Save and deploy)。


步驟 3:設定安全環境變數與金鑰(Variables and Secrets)

為了避免將敏感網址與金鑰寫死在程式碼中,請透過 Cloudflare 的後台變數功能儲存:

  1. 進入該 Worker 的管理頁面,切換到 「Settings」>「Variables and Secrets」。

  2. 新增環境變數:

    • AUTH_TOKEN:自訂一組 API 金鑰字串(例如 tan_0331),作為呼叫 API 時的身分驗證。

    • GAS_URL:貼上步驟 1 取得的 Google Apps Script 網址,並建議勾選 「Secret / 加密」 進行保護。

  3. 點選儲存並重新部署。


三、 API 測試與除錯紀錄(以 Windows CMD 為例)

部署完成後,可以使用命令提示字元(CMD)或 PowerShell 搭配 curl 進行測試:

1. 寫入資料測試 (POST)

Bash
curl.exe -i -X POST "https://<你的Worker網址>.workers.dev/" -H "Authorization: Bearer <你的金鑰>" -H "Content-Type: application/json" -d "{\"name\":\"李小華\"}"
  • 驗證結果:指令送出後,回到 Google 試算表中查看,確認「李小華」已成功自動新增進去!

2. 讀取資料測試 (GET)

Bash
curl.exe -i "https://<你的Worker網址>.workers.dev/" -H "Authorization: Bearer <你的金鑰>"
  • 驗證結果:終端機會回傳 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 完全一致。


結語

這次透過 Google AI Studio 的輔助,即便對 Cloudflare Workers 不熟悉,也能在一小時內從無到有搭建出一個穩定、具備驗證機制且速度飛快的「Google 試算表 API 中繼站」。

不僅免去了 GCP 綁定信用卡的擔憂,每天 10 萬次的免費額度更是非常適合中小型網站、側邊專案或自動化腳本使用!推薦有類似需求的朋友不妨動手嘗試看看。


 


沒有留言:

張貼留言

【教學】如何利用免費 Cloudflare Workers 連接 Google 試算表?透過 Google AI Studio 快速搞定前後端串接!

大家好!在開發輕量級應用程式或個人專案時,許多人喜歡直接將 Google 試算表(Google Sheets) 當作資料庫使用。但過去若直接透過 Google Cloud Platform (GCP) 串接,經常會遇到需要綁定信用卡、權限設定繁瑣或突然調用失敗的問題。 最近有網...