Skip to content

建立 2026-09-15 更新 2026-09-15

授權、配額與除錯

腳本能動,通常卡在三件事:OAuth 同意畫面、每日配額、6 分鐘被砍。正式交給別人用之前,先把這頁當檢查清單。

授權

第一次執行會列出要存取的範圍(Gmail、Drive、試算表等)。範圍來自你呼叫的服務,也來自 appsscript.jsonoauthScopes。範圍越大,使用者越不敢按允許,Marketplace 審查也越嚴。

  • 能只用 SpreadsheetApp 就不要碰 DriveApp
  • 進階服務、UrlFetchApp 會再加範圍。
  • 「未經驗證的應用程式」警告對個人專案是正常的;發佈給網域或公開才需要走 Google 驗證。

執行身分:觸發條件以建立觸發的帳號跑;Web App 則看部署時選的「我」或「使用者」。同事改你的表卻用你的 Gmail 寄信,往往是觸發建在你帳號上。

配額與時間

官方表:Apps Script 配額。實務上最常撞到:

限制 為什麼重要
單次執行約 6 分鐘(Workspace 帳號可較長) 大表必須批次 getValuessetValues
每日 MailApp/Gmail 封數 免費帳號約百封量級;別拿來做電子報
UrlFetchApp 每日呼叫次數 迴圈打 API 很容易用完
觸發總數、同時執行數 重複建立時間觸發會疊加

超時不會自動接著跑。自己用 Properties 記「上次處理到第幾列」,下次觸發再續。

除錯

  1. 編輯器 執行紀錄:紅字堆疊、Logger.log
  2. try/catch 裡把 error.stack 寫進專用工作表,排程失敗才找得到。
  3. 偵錯鈕可對 V8 下中斷點。
  4. 觸發失敗看「我的執行」或 Cloud Logging(需標準 Cloud 專案)。

權限錯誤 Authorization is required:函式被簡易觸發呼叫卻用了要授權的服務。改可安裝觸發,或改由選單手動跑一次完成授權。