Google Apps Script 學習路線
從試算表出發,把重複工作做成能驗證、修改與交接的小工具。
你想用 Apps Script 做到什麼?
選一個工作目標,就能看見建議順序;熟悉的階段可以直接跳過。
這條學習路線不記錄閱讀進度;「可讀」只表示文章已經發布。
用AI做第一個小工具
從需求、資料、讀寫與驗收開始;有成果後立即加入版本與持續修改。
依列號順序學習,熟悉的階段可以直接跳過。
查看這個目標的建議文章順序
- 從工作問題到一頁需求規格規劃中
- Apps Script專案與執行環境:入口、ID、授權與設定規劃中
- 看懂AI產生的程式:值、陣列、條件、函式與副作用規劃中
- 第一個工具完成後:用Git保存基準與檢查差異規劃中
- Claude Code/Codex怎麼工作:tool use、專案指引與操作權限規劃中
- clasp本機開發:目標、忽略規則、同步方向與雲端漂移規劃中
- 用AI改既有需求:分工、分支、回歸與雲端驗收規劃中
查找學習內容
知道要找什麼?直接搜尋。想瀏覽全貌,再展開階段或能力地圖。
八個階段・四十個模組依建議順序瀏覽,也可以自由跳讀。
完整能力地圖
十一個能力域・六十九個節點,按需求查閱。
完整能力地圖
十一個能力域・六十九個節點,按需求查閱。包含 Library、API、Skills 與 MCP 等延伸;這是查閱地圖,不是六十九篇必修課。
需求與系統設計
6 項能力
工作問題與價值
SYS-01 · 懂/做
畫出人工流程,指出耗時、錯誤與重複步驟,定義可觀察的改善目標
- 從工作問題到一頁需求規格規劃中
工具選擇與範圍
SYS-02 · 懂/做
判斷內建功能、公式、GAS 或其他工具的適用範圍;列非目標與人工決策
系統邊界與角色
SYS-03 · 懂/做
畫使用者、資料來源、程式、外部服務與輸出;辨識各自負責的事情
- 從工作問題到一頁需求規格規劃中
可驗收的需求
SYS-04 · 懂/做
交代輸入、規則、期間、輸出、頻率與成功標準,將歧義回問業務負責人
- 從工作問題到一頁需求規格規劃中
分工與依賴
SYS-05 · 懂/做
區分讀取、驗證、計算、寫入、通知、紀錄;用小案例解釋純邏輯與服務呼叫
- 用AI改既有需求:分工、分支、回歸與雲端驗收規劃中
設計取捨與演進
SYS-06 · 懂/選
比較簡單腳本、拆檔、Library 或換平台的成本;留下簡短決策與重新評估條件
- 系統怎麼演進:依賴變更、服務替代與平台界線規劃中
資料模型與契約
6 項能力
欄位與型別
DATA-01 · 懂/做
定義欄位名稱、必要值、數字、文字、日期、時間與時區,辨識值及顯示格式
唯一編號與關聯
DATA-02 · 懂/做
建立穩定 ID、主表/明細/產品關聯,處理重複主鍵與找不到來源的資料
- 資料不是列號:ID、關聯、歷史值與欄位變更規劃中
來源與歷史
DATA-03 · 懂/做
分辨原始、衍生、快照與狀態;說明價格更新時歷史訂單是否應改變
- 資料不是列號:ID、關聯、歷史值與欄位變更規劃中
完整性規則
DATA-04 · 懂/做
定義必填、有效值、總額對帳與允許重複的情境,區分異常列與程式失敗
資料結構變更
DATA-05 · 懂/選
欄位改名/換序/新增時能偵測差異;設計停止、轉換或相容處理
擴充承接:資料結構變更:偵測欄名、欄序與版本差異;選做相容轉換,失敗先停
- 資料不是列號:ID、關聯、歷史值與欄位變更規劃中
資料最小化與樣本
DATA-06 · 懂/做
只提供需要的資料,建立去識別樣本與邊界案例;知道哪些資料不能交給外部服務
- 從工作問題到一頁需求規格規劃中
平台與程式判讀
6 項能力
Apps Script 執行環境
RUN-01 · 懂/做
分清 Google 伺服端、HTML 前端與本機工具;辨識 Node/瀏覽器程式不能直接照搬的能力
- Apps Script專案與執行環境:入口、ID、授權與設定規劃中
專案與交付方式
RUN-02 · 懂/做/選
分別理解綁定/獨立專案,以及手動、選單、觸發、Web App、add-on 等使用方式
- Apps Script專案與執行環境:入口、ID、授權與設定規劃中
執行上下文與 ID
RUN-03 · 懂/做
核對檔案、工作表、專案與目前作用中物件;在不同入口選正確定位方式
- Apps Script專案與執行環境:入口、ID、授權與設定規劃中
最低程式判讀
RUN-04 · 懂/做
透過流程圖及實例解釋值、陣列、物件、條件、迴圈、函式、錯誤與副作用
- 看懂AI產生的程式:值、陣列、條件、函式與副作用規劃中
Sheets 批次讀寫
RUN-05 · 懂/做
連接 Spreadsheet/Sheet/Range 與二維陣列,保留原始資料、公式及未授權欄位
Manifest 與專案設定
RUN-06 · 懂/查/選
知道 manifest、時區、runtime、服務啟用及 scopes 的用途,能核對 AI 修改了哪些設定
擴充承接:Manifest共用參考:比對時區、runtime、服務與scopes的設定差異
- Apps Script專案與執行環境:入口、ID、授權與設定規劃中
Google Workspace 能力
6 項能力
內建 Google 服務
WS-01 · 懂/做/選
依需求查 Sheets、Drive、Docs、Forms、Mail/Gmail、Calendar;只選案例需要的服務
- 從預覽到通知:Email與可替換的Slack/Discord出口規劃中
Advanced Google services
WS-02 · 懂/選
分辨內建包裝、進階服務與直接 HTTP,確認對應服務/API 是否啟用及授權
擴充承接:Advanced services:依案例啟用服務並比較內建、進階與HTTP入口;選修
- 日曆/Tasks整合與Advanced Google services規劃中
選單對話框與側欄
WS-03 · 懂/做/選
選擇適當入口;選單作基本實作,HTML 前端與非同步溝通按需延伸
- 選對使用入口:選單、自訂函式、巨集與限制規劃中
自訂函式與巨集
WS-04 · 懂/選
判斷公式式計算或動作流程,檢查自訂函式授權、重算、時間與回傳範圍限制
- 選對使用入口:選單、自訂函式、巨集與限制規劃中
文件與檔案產生
WS-05 · 懂/選
從範本產出文件/PDF,管理檔案位置、存取、來源 ID 與重跑規則
- 從資料到Docs/PDF:範本、檔案權限與重跑規劃中
跨工具工作流
WS-06 · 懂/做/選
將資料、文件、表單、通知或期限串起來,每一步都有可核對的輸入輸出
- 從預覽到通知:Email與可替換的Slack/Discord出口規劃中
事件與執行控制
6 項能力
Trigger 的種類與啟動
FLOW-01 · 懂/做
分辨簡易、可安裝、時間及各種事件觸發,選正確入口,避免重複建立
事件資料契約
FLOW-02 · 懂/做
辨識事件來源與 e 內容,多列貼上與不同提交來源要分測,不能只手動呼叫當事件驗收
身分時間與責任
FLOW-03 · 懂/做
交代要求者、執行者、授權者與業務日期;處理時區及排程時段
狀態與重跑
FLOW-04 · 懂/做
設計待處理、成功、失敗與結果待確認;根據 ID 與規則新增、更新或略過
同時執行與鎖
FLOW-05 · 懂/做
找出共享資源及關鍵區段,驗證並行;知道鎖不等於資料庫交易或外部動作只做一次
- 兩個人同時執行:共享狀態與LockService規劃中
配額批次與恢復
FLOW-06 · 懂/做
估計服務呼叫及執行時間,設計分批、進度保存、有限重試與人工處理條件
- 配額與部分失敗:分批、檢查點與有限重試規劃中
外部系統與通知
7 項能力
API 與介面概念
API-01 · 懂
分辨程式 API、HTTP API、CLI、Library 與 MCP,知道底層能力可以有不同呼叫入口
- API是什麼:用HTTP/JSON完成一次可驗證串接規劃中
HTTP 與 JSON 契約
API-02 · 懂/做
判讀 method、URL、headers、body、狀態碼及 JSON;用 UrlFetchApp 完成一次可驗證請求
- API是什麼:用HTTP/JSON完成一次可驗證串接規劃中
外部服務授權
API-03 · 懂/做/選
分辨 webhook URL、API Key、token 與 OAuth;核對存取範圍及設定位置
- 外部服務授權與同步:token、分頁、增量與限流規劃中
同步與服務限制
API-04 · 懂/選
處理分頁、增量、重複、限流、外部 ID 與錯誤;HTTP 成功後仍驗回應內容
- 外部服務授權與同步:token、分頁、增量與限流規劃中
主動通知與可替換出口
API-05 · 懂/做/選
將週報送往 Email 或一個通訊平台,再選做替換;保留共用業務邏輯與寄送紀錄
- 從預覽到通知:Email與可替換的Slack/Discord出口規劃中
Webhook 與互動入口
API-06 · 懂/選
檢查來源驗證、身分、回應期限、重送與平台能力,確認可行才建入口
- 接收Webhook以前:驗簽、重送與平台可行性規劃中
系統內呼叫模型
API-07 · 懂/選
以模型 API 做分類或摘要,檢查輸出結構、誤判、費用/延遲與人工覆核
- 流程內呼叫模型:分類契約、人工覆核與評估規劃中
重用與相依性
5 項能力
引用既有 Library
LIB-01 · 懂/做
檢查來源、script ID、存取權、identifier、文件與固定版本,完成一個小功能的引用
擴充承接:引用Library與版本:主線引用固定版本、切換後重驗,查Properties/Cache/Lock資源範圍
- 使用Apps Script Library:固定版本、升級回退與資源範圍規劃中
選擇重用方法
LIB-02 · 懂/選
比較內建服務、進階服務、Library、原始碼複用與本機套件;不假設 npm 套件可直接跑在 GAS
擴充承接:共用能力設計:第二個真實重用需求後才抽出、發布自己的Library;選修
- 第二個流程出現後:如何選重用方法並發布自己的Library規劃中
建立共用能力
LIB-03 · 懂/選
第二個案例出現重複需求後,抽出小函式/Library,定義輸入輸出、錯誤與文件
擴充承接:共用能力設計:第二個真實重用需求後才抽出、發布自己的Library;選修
- 第二個流程出現後:如何選重用方法並發布自己的Library規劃中
版本與相容性
LIB-04 · 懂/做/選
分辨測試與固定版本;升級後重跑呼叫端案例,保留回退與相依紀錄
擴充承接:引用Library與版本:主線引用固定版本、切換後重驗,查Properties/Cache/Lock資源範圍
- 使用Apps Script Library:固定版本、升級回退與資源範圍規劃中
資源範圍與限制
LIB-05 · 懂/查/選
查核 Properties、Cache、Lock、trigger 的 library 資源範圍及效能,不假設各呼叫端完全隔離
擴充承接:引用Library與版本:主線引用固定版本、切換後重驗,查Properties/Cache/Lock資源範圍
- 使用Apps Script Library:固定版本、升級回退與資源範圍規劃中
LLM 與代理開發
8 項能力
LLM 的生成與限制
AI-01 · 懂/做
理解回答可能不一致、過時或錯誤;能提供樣本、依據並驗證生成程式
- 從工作問題到一頁需求規格規劃中
Workflow 與 agent
AI-02 · 懂/選
判斷步驟由程式固定或由模型選擇;使用 coding agent 不代表成品也必須是 agent
擴充承接:Coding agent工作模型:先理解tool use、指引、權限與不可信資料,再操作既有專案
- Claude Code/Codex怎麼工作:tool use、專案指引與操作權限規劃中
Tool use 的執行循環
AI-03 · 懂/做
看懂模型提出工具/參數、環境執行、結果回傳與下一步;區分文字建議與真實操作
擴充承接:Coding agent工作模型:先理解tool use、指引、權限與不可信資料,再操作既有專案
- Claude Code/Codex怎麼工作:tool use、專案指引與操作權限規劃中
工作上下文
AI-04 · 懂/做
提供規格、程式、資料契約、文件版本、範例與測試;辨識缺資訊並維持任務範圍
- 從工作問題到一頁需求規格規劃中
專案指引與持續記錄
AI-05 · 懂/做
管理 AGENTS.md/CLAUDE.md、設計決策與驗證紀錄,確認載入,不依賴聊天永久記憶
擴充承接:Coding agent工作模型:先理解tool use、指引、權限與不可信資料,再操作既有專案
- Claude Code/Codex怎麼工作:tool use、專案指引與操作權限規劃中
Skills 的封裝與驗證
AI-06 · 懂/選
將重複開發方法整理為可載入指令、資源與可選腳本,定義適用條件、輸入輸出與完成判準
擴充承接:Skills:將已重複驗證的開發方法封裝並測適用/不適用情境;選修
- 把有效的AI開發方法整理成Skill規劃中
MCP 的連接方式
AI-07 · 懂/選
分辨 host/client/server、tools/resources/prompts;使用現有連線並檢查可用工具與授權
擴充承接:MCP:選做既有連線,查工具與權限;不要求自建server
- 用MCP連接既有能力:host、工具與權限邊界規劃中
代理權限與不可信資料
AI-08 · 懂/做
將表格、郵件、網頁、工具回傳中的文字當資料;權限與隔離另設,不把內容指令當使用者授權
擴充承接:Coding agent工作模型:先理解tool use、指引、權限與不可信資料,再操作既有專案
- Claude Code/Codex怎麼工作:tool use、專案指引與操作權限規劃中
版本環境與發布
7 項能力
本機工作環境
DEV-01 · 懂/做
辨識檔案、目錄、終端、Node 工具與 clasp;使用者自行授權,核對帳號及 Script ID
- clasp本機開發:目標、忽略規則、同步方向與雲端漂移規劃中
Git 基準與差異
DEV-02 · 懂/做
理解工作目錄、暫存與提交;保存可用版本,檢查 AI 修改範圍
- 第一個工具完成後:用Git保存基準與檢查差異規劃中
分支合併與回復
DEV-03 · 懂/做/選
以小分支改需求,區分未提交修改與已提交撤銷;團隊情境再練合併衝突
擴充承接:分支回復與合併:基本分支/撤銷進主線;多人衝突依需求選修
- 用AI改既有需求:分工、分支、回歸與雲端驗收規劃中
clasp 同步與漂移
DEV-04 · 懂/做
檢查 rootDir/忽略規則、pull/push 方向與雲端修改,避免覆蓋不明來源
- clasp本機開發:目標、忽略規則、同步方向與雲端漂移規劃中
測試與正式環境
DEV-05 · 懂/做
對照程式、資料檔、帳號、收件者、設定與觸發器,不讓測試誤碰正式資料
- 設定與執行紀錄:Properties、Cache、私密值與測試環境規劃中
版本部署與發布
DEV-06 · 懂/做/選
分清存碼、同步、版本、部署與資料;記錄來源 commit、適用部署及實測結果
- 發布、停用、恢復與交接:程式、資料、設定各自核對規劃中
遠端協作與工具交接
DEV-07 · 懂/選
依需求使用 GitHub/remote/review/CI,讓 Claude Code 與 Codex 由共用檔案與測試接手
擴充承接:遠端與跨工具交接:GitHub/PR/CI按需;由共用檔案接手而非依賴聊天
- 讓另一套AI工具或同事接手:檔案、遠端與衝突規劃中
驗證評估與除錯
6 項能力
驗收與答案依據
QA-01 · 懂/做
先定預期、再生成或修改;用人工或可追溯計算核對,不只讓同一模型自評
純邏輯與回歸案例
QA-02 · 懂/做
測正常、空值、重複、日期邊界與例外,需求改變仍重跑舊案例
真實雲端驗證
QA-03 · 懂/做
實際編輯/提交/觸發、確認角色與授權;本機模擬不代替服務與入口驗收
除錯與最小重現
QA-04 · 懂/做
用預期/實際、錯誤、版本與小資料定位問題,辨識需求、資料、程式、權限或服務錯誤
模型輸出評估
QA-05 · 懂/選
用人工標準答案與未參與提示調整的案例,評估誤判、非法結果、漏判及成本/延遲
- 流程內呼叫模型:分類契約、人工覆核與評估規劃中
驗證證據與限制
QA-06 · 懂/做
記錄版本、環境、資料、預期、實際、日期及未驗項;從結果形成下一次改善
維護安全與演進
6 項能力
執行可見性
OPS-01 · 懂/做
記錄執行 ID、階段、筆數、結果與錯誤,讓正常與失敗都可查且不暴露敏感資料
- 設定與執行紀錄:Properties、Cache、私密值與測試環境規劃中
權限與私密設定
OPS-02 · 懂/做
檢查最小授權、編輯者可接觸範圍、私密值與 agent 工具權限;知道指引不等於技術阻擋
- 設定與執行紀錄:Properties、Cache、私密值與測試環境規劃中
備份停用與恢復
OPS-03 · 懂/做
分開資料、程式、設定、部署與依賴的恢復;明訂哪些外部動作需人工確認
- 發布、停用、恢復與交接:程式、資料、設定各自核對規劃中
帳號與責任交接
OPS-04 · 懂/做
列檔案擁有者、授權者、觸發器建立者、部署者及依賴,測試接手與原帳號失效情境
- 發布、停用、恢復與交接:程式、資料、設定各自核對規劃中
依賴與產品變動
OPS-05 · 懂/選
追蹤 Library、平台 API、服務停服及工具版本,選擇替代、升級或停用並重驗案例
擴充承接:依賴與服務變更:建立變更清單,演練升級、替代或停用及重驗
- 系統怎麼演進:依賴變更、服務替代與平台界線規劃中
容量與平台界線
OPS-06 · 懂/選
依資料量、頻率、並行、權限、可接受中斷及維護成本判斷繼續優化或換平台
- 系統怎麼演進:依賴變更、服務替代與平台界線規劃中
深度標記:「懂」是能解釋與判讀;「做」是在小案例實際驗收;「選」是依需求實作;「查」是需要時查閱參數與限制。
教材逐步補齊。「可閱讀」表示已有文章,仍需實作與驗收;草稿與規劃中項目暫不提供連結。工具版本與權限請依實際環境核對。