你做的小工具,常常需要「借用別人家的服務」。例如想讓工具會聊天、會分析文字,就得借用一個現成的 AI 大腦(本章用的是 Google 的 Gemini);想把資料存起來、之後還能打開看,就得借用一個現成的雲端表格(Google 試算表)。這種「把自己的工具,接上別人家服務」的動作,就叫做串接外部服務。
① 親手到 Google 申請一把 Gemini API 金鑰,並真的用它叫得動 AI;
② 看懂三種「身分證件」的差別:API 金鑰(你個人的會員卡)、服務帳號(工具自己的機器人帳號)、權限共用(把表格分享給那個機器人);
③ 自己做出並部署一個 AI 小工具,讓「填表單 → AI 處理 → 自動存進試算表」這條資料循環完整跑起來;
④ 從一個真實專案撞過的兩道牆,學會「卡住時怎麼換個做法」,並看懂常見的錯誤碼在說什麼。
先記住一個重要觀念:金鑰要藏在後端
本章會反覆強調一件事:那把 API 金鑰,絕對不能寫在使用者看得到的網頁裡。任何放進前端網頁的東西,使用者打開瀏覽器就能翻出來,等於把你的會員卡影印給全世界,別人就能拿去用、帳算在你頭上。所以正確做法是把金鑰和「叫 AI」的指令,都藏在使用者看不到的後端(本章用 Google 的 Apps Script 當這個後端)。這個「為什麼指令要藏在後端」的道理,後面會帶你一步步弄懂,現在先有印象就好。
API 金鑰=你的會員卡;服務帳號=幫你做事的機器員工;權限共用=把某個櫃子的鑰匙複製給那位機器員工。
3
動手做 A・簡單版(Apps Script)動手做(Apps Script):AI 偽命理師
這一節我們要親手做出本章的主角這個單元要親手做出一個小作品:一頁簡單的表單,使用者選一個星座、再選一個想問的面向(例如愛情、財運、課業),按下「算一卦」,AI 就回你一段輕鬆的運勢解讀。重點不只是好玩:每一次的提問和 AI 的回答,都會自動記成一列,乖乖進到你的 Google 試算表裡。換句話說,你不只是「叫 AI 回話」,你還把這些對話「留了下來」,這就是串接外部服務最實用的一環。
你完全不用自己會寫程式。整個過程在 VS Code 搭配 AI(Gemini、Codex、Claude Code 等都行)一起完成:你用「白話」說要什麼,AI 幫你產出程式碼、還會一步步帶你操作。第一件事,先把下面這段「開場指令」整段貼給 AI,讓它進入「耐心家教」的角色:
你是一位很有耐心的程式家教,專長是用 Google Apps Script 把 AI 和 Google 試算表串成小工具。我完全沒有程式背景,請一步一步帶我做出一個「AI 偽命理師」網頁:使用者選一個星座、一個想問的面向,AI 回一段純娛樂的運勢解讀,每次的提問和回覆都自動存進我的 Google 試算表。請一次只教一步,明確告訴我點哪裡、貼哪一段,等我說「好了」再繼續;遇到要我自己操作的雲端設定(申請 Gemini 金鑰、授權、部署上線)請放慢、用最白話的方式帶。AI 模型請選比較輕量、通常比較不塞車的款,例如 gemini-2.5-flash-lite。我們開始吧。
設定好它的角色後,整個流程大致是下面六步,AI 會帶著你跑;其中要請 AI 產出程式的兩步,把那段「白話需求」貼給它就好:
拿一把 Gemini 鑰匙
先到 Google AI Studio 按「Get API key/取得 API 金鑰」,照著步驟建立一把金鑰,這是免費的。這把金鑰就是我們前面說過「三種身分」裡的第一種:叫API 金鑰。它代表「你有資格呼叫 Gemini」,現在你親手拿到一把,先把它複製起來、等一下會用到。
免費額度夠用嗎?要付費嗎?(兩個練習都這個練習就會用到這把金鑰)
AI Studio 金鑰有免費額度,免綁信用卡,學習和課堂練習綽綽有餘(gemini-2.5-flash 大約每分鐘 10 次、每天上千次)。兩個要注意:① 太快連續呼叫會被限流,等幾秒再試即可;② 免費版 Google 可能用你送進去的內容改進它的產品、甚至有人工審閱,所以別丟真實敏感資料。什麼時候才需要付費(到後台開啟帳單)?要大量、穩定、商用,或在意隱私(付費版不會拿你的資料訓練)。本章兩個練習這個練習用免費就夠。
開一張 Google 試算表,順手打開程式編輯器
到 Google 試算表新開一張空白表,在第一列依序打上欄位標題:時間、暱稱、星座、想問、補充、AI 解讀(一格一個,共六格)。這一列就是之後資料的「表頭」。打好後,從上方選單按「擴充功能 → Apps Script」,就會跳出程式編輯器,我們的後端就住在這裡。
請 AI 幫你做「後端」
後端就是「在背後做事、使用者永遠看不到」的那段程式。把下面這段白話需求貼給 AI,請它幫你寫:
幫我做這個偽命理師的「後端」(在背後做事、使用者看不到的那部分):收到使用者選的星座和想問的面向後,配上一段「你是一位幽默溫暖的偽命理師、純娛樂、不是真的算命」的指示,交給 Gemini 想出一段運勢解讀,再把使用者的選擇和 AI 的回覆存成我試算表的一列。
AI 寫好後,會帶你把它貼進 Apps Script,並告訴你把第一步拿到的 Gemini 金鑰貼在哪裡,照它說的做就好。
幫我做這個偽命理師的「表單頁」(使用者看到、會操作的那一頁):標題「🔮 AI 偽命理師」、底下小字「純娛樂,不是真的算命」;讓使用者選一個星座、選一個想問的面向(今日運勢、愛情、課業事業、財運、人際、健康),可以填暱稱和補充一句話,再按一個「幫我算一卦」的大按鈕;按下去就把使用者的選擇送給剛剛那段後端,再把 AI 回的運勢顯示出來。配色用青綠色,可愛一點。
照 AI 的指示,把它做好的內容貼進那個網頁檔、存檔就好。
部署成 Web App
按右上角的「部署 → 新增部署作業」,類型選「網頁應用程式」;「執行身分」選「我」,「誰可以存取」選「任何人」,然後按部署。第一次部署會跳出要你「授權」的畫面,甚至會警告「Google 尚未驗證這個應用程式」,這是完全正常的(因為這支程式是你自己寫的、還沒送 Google 審查):按「進階 → 前往(不安全)→ 允許」就好。完成後系統會給你一個網址,把它複製起來。
開那個網址,玩一次看看
把剛剛拿到的網址貼到瀏覽器打開:選一個星座、選一個想問的面向,按「算一卦」,AI 就會回你一段運勢解讀。接著回頭看你的 Google 試算表,會發現多出了一列,裡面正是你的提問加上 AI 的回答。到這裡,從「使用者輸入」到「AI 回應」再到「資料留存」的完整資料循環,就整個跑起來了。
★ 為什麼「命理師指令」和金鑰要藏在後端?
玩的人只看到一台漂亮的命理機:選星座、按按鈕、得到解讀。他看不到、也改不了背後那串「咒語」,也就是你交代給 AI 的那段「人設指示」(叫它扮演偽命理師的那段話),更拿不到你的 Gemini 金鑰,因為這兩樣東西都放在 Apps Script,而 Apps Script 是「後端」,跑在 Google 的伺服器上,不會送到使用者的瀏覽器裡。這裡其實一口氣講清楚了兩件重要的事:第一,前端(使用者看得到的表單)和後端(在伺服器上偷偷執行的程式)的分工,這在 第 8 章 有完整說明;第二,為什麼金鑰、密碼這類祕密一定要放後端、不能放前端,這在 第 14 章 會深入談。把祕密藏好,是串接外部服務最基本、也最重要的安全觀念。
4
兩種後端怎麼選:Apps Script vs 自架伺服器
上一節我們做的那位「偽命理師」,背後的後端是用像「AI 偽命理師」這類的小工具,後端可以用 Google 的 Apps Script。但後端不是只有這一種。另一種選擇,是「自己架一台伺服器」,例如把它放在 Vercel 上面。兩種都能當你網頁背後的後端,幫你叫 AI、存資料、做運算。差別在於:能做到的能力多寡,以及設定起來的麻煩度。這一節先帶你看懂兩者的差異,之後挑題目時心裡才有底。
比較項目
Apps Script
自架伺服器(Vercel)
一句話定位
Google 的自動化小工具,最省事。
需要完整能力與規模時的正規後端。
適合做的事
搬資料、叫 API、把結果寫進 Google 試算表或文件、UI 簡單的小應用。
要用各種程式套件(例如解析 PDF、處理圖片)、複雜運算、完整框架、自訂網域、大流量、接 Google 以外的服務。
要不要服務帳號
不用,以你本人的身分跑。
要用「服務帳號」(一組給程式專用的身分)。
設定麻煩度
低,貼上程式、按發佈就能用。
高一些,但換來更強的能力。
本章用哪個練習
偽命理師(簡單版)。
英文日記評分(進階版)。
一句話判準
挑後端時,先問自己一個問題:「我的後端,要不要用到 Google 以外的程式套件,或處理檔案、圖片?」
我想做的是:使用者上傳一份英文日記 PDF,伺服器把 PDF 文字抽出來,交給 Gemini 依「文法、用字、流暢度」幾個面向打分數並寫一段改進建議,再把結果存成我 Google 試算表的一列,最後部署到 Vercel。所有金鑰都放在後端的環境變數裡,絕對不要寫死在程式碼、也不要出現在前端網頁。請先把專案建好、讓我能在自己電腦上跑起來測試,再教我接下一步。
一開始想得很周到:使用者上傳的原始 PDF,順手「備份一份到 Google 雲端硬碟」。結果一執行就失敗,跳出這段:
Service Accounts do not have storage quota.(服務帳號沒有儲存空間配額。)
真相:服務帳號這位機器員工自己沒有倉庫,它不能用自己的名義新建檔案,這是 Google 的規定,不是你哪裡設錯了。所以解法不是去查設定,而是換個想法:不要叫一個沒有倉庫的人去蓋新倉庫。改成由你本人先建好那份試算表(算成你的倉庫),再請服務帳號幫你「寫一列進去」就成功了。關鍵原理一句話:檔案的擁有者是誰,決定它算在誰的倉庫。新建檔案需要自己有空間,但寫進你已經建好、又共用給它的檔案,只需要編輯權限。
先別管以後的更新,現在就趁熱驗收:把剛剛終端機最後一行印出的網址複製起來、貼到瀏覽器打開,上傳一份 PDF,等系統處理完,再回頭打開你的 Google 試算表。如果最底下多了一列,裡面有分數和建議,就代表整條路打通了:上傳,抽文字,AI 評分,寫進試算表,全部串起來了。
換成別的用途(骨架不動,只改給 AI 的指示和欄位)
和 Track A 偽命理師一樣,這個骨架是通用的:上傳東西,交給 AI,存進試算表。要換主題,你不必重做網站,只要改「給 AI 的那段指示」和「試算表要記哪幾欄」就好。但換之前先想一件事:這個任務值不值得用 AI。判斷標準是「AI 的加值高不高」,AI 真正強的是整理、判斷、合成這類動腦的事;如果只是把字原封不動抓出來打字,那是純萃取,加值很低,傳統程式就能做,殺雞用牛刀。
再補一個小知識:照片可以直接丟給 Gemini。Gemini 是多模態的,能同時「看圖上的字」又「理解內容」,所以拍照那種任務不用你另外去寫一套 OCR(文字辨識)。反過來,如果是打字產生的 PDF,照前面的做法先把文字抽出來再交給 AI 就好。一句話收尾:骨架完全不動,你只是換一段給 AI 的指示和幾個欄位,就能長出一個全新的小工具,這正是 Track A 偽命理師換主題時的同一招。
要讓 Google 試算表「自己會動」,最常見的免費工具是 Google Apps ScriptApps Script 是 Google 內建、免費的自動化腳本工具,掛在試算表上,可以讓表格自動接收資料、寄信、串接其他 Google 服務,不必另外架伺服器。,它掛在試算表上、免費,能讓表格自動接收外部送來的資料並寫成一列。
關鍵在「程式是用誰的身分、走哪條路去碰 Google」。Apps Script 那版(偽命理師)掛在你自己的 Google 帳號底下跑,等於是你本人在操作,用的是 Google 內建、已經接好的存取方式,不需要另外申請服務帳號,也不用你自己去後台把 API 開關打開,路本來就是通的,所以不會卡配額、也不會被擋。Vercel 那版不一樣:程式跑在外面的伺服器上,沒有「你的身分」可借用,只能拿一個服務帳號當機器人去敲 Google 的門,而且要你自己先把對應的 API 打開、設定權限,只要有一處沒做好,就會看到那兩種典型錯誤。一句話:不是存試算表難,而是誰去存、有沒有事先把通道開好的差別。
標準是「這件事 AI 有沒有幫上真正的忙」。值得用 AI 的,是需要理解、判斷、重新組織的任務:把雜亂內容整理成架構、看懂後歸納重點、合成一段通順摘要,這些靠死規則寫不出來,是高加值。不值得特地用 AI 的,是位置固定、照抄就好的任務:第幾欄一定是金額、第幾欄一定是日期,照抓就好,傳統程式又快又穩又便宜。簡單記:需要動腦的交給 AI,純搬運的交給傳統程式。
第四題:想換用途,只要改哪一段
只要改那串藏在後端、給 AI 的角色指令就好。想做「AI 意見回饋箱」,就把指令從「你是一位命理師」改成「你是一位親切的意見整理助手,請把使用者的回饋摘要成三個重點」。網頁外觀、資料循環的三步、串接 Gemini 的方式通通不必動。這和兩道牆的「轉念」是同一種智慧:卡住時不要硬鑽原本的路,而是退一步問「我真正要的是什麼」。