跳到主要內容跳到頁尾

Google Apps Script 學習路線

從試算表出發,把重複工作做成能驗證、修改與交接的小工具。

你想用 Apps Script 做到什麼?

選一個工作目標,就能看見建議順序;熟悉的階段可以直接跳過。

這條學習路線不記錄閱讀進度;「可讀」只表示文章已經發布。

用AI做第一個小工具

從需求、資料、讀寫與驗收開始;有成果後立即加入版本與持續修改。

依列號順序學習,熟悉的階段可以直接跳過。

查看這個目標的建議文章順序
  1. 從工作問題到一頁需求規格規劃中
  2. Apps Script專案與執行環境:入口、ID、授權與設定規劃中
  3. 看懂AI產生的程式:值、陣列、條件、函式與副作用規劃中
  4. 第一個工具完成後:用Git保存基準與檢查差異規劃中
  5. Claude Code/Codex怎麼工作:tool use、專案指引與操作權限規劃中
  6. clasp本機開發:目標、忽略規則、同步方向與雲端漂移規劃中
  7. 用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 項能力

外部系統與通知

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 項能力

維護安全與演進

6 項能力
  • 執行可見性

    OPS-01 · 懂/做

    記錄執行 ID、階段、筆數、結果與錯誤,讓正常與失敗都可查且不暴露敏感資料

    • 設定與執行紀錄:Properties、Cache、私密值與測試環境規劃中
  • 權限與私密設定

    OPS-02 · 懂/做

    檢查最小授權、編輯者可接觸範圍、私密值與 agent 工具權限;知道指引不等於技術阻擋

    • 設定與執行紀錄:Properties、Cache、私密值與測試環境規劃中
  • 備份停用與恢復

    OPS-03 · 懂/做

    分開資料、程式、設定、部署與依賴的恢復;明訂哪些外部動作需人工確認

    • 發布、停用、恢復與交接:程式、資料、設定各自核對規劃中
  • 帳號與責任交接

    OPS-04 · 懂/做

    列檔案擁有者、授權者、觸發器建立者、部署者及依賴,測試接手與原帳號失效情境

    • 發布、停用、恢復與交接:程式、資料、設定各自核對規劃中
  • 依賴與產品變動

    OPS-05 · 懂/選

    追蹤 Library、平台 API、服務停服及工具版本,選擇替代、升級或停用並重驗案例

    擴充承接:依賴與服務變更:建立變更清單,演練升級、替代或停用及重驗

    • 系統怎麼演進:依賴變更、服務替代與平台界線規劃中
  • 容量與平台界線

    OPS-06 · 懂/選

    依資料量、頻率、並行、權限、可接受中斷及維護成本判斷繼續優化或換平台

    • 系統怎麼演進:依賴變更、服務替代與平台界線規劃中

深度標記:「懂」是能解釋與判讀;「做」是在小案例實際驗收;「選」是依需求實作;「查」是需要時查閱參數與限制。

教材逐步補齊。「可閱讀」表示已有文章,仍需實作與驗收;草稿與規劃中項目暫不提供連結。工具版本與權限請依實際環境核對。