GAS 基礎語法與開發 (GAS Basics)
Google Apps Script (GAS) 是基於 JavaScript 的執行環境。在開始寫複雜的自動化腳本前,我們需要先了解 GAS 的開發環境特色以及它與傳統 JavaScript 不同的地方。
JavaScript 版本
目前的 GAS 執行環境使用的是 V8 引擎,這意味著你可以使用絕大部分的現代 JavaScript (ES6+) 語法,例如:
let和const宣告變數。- 箭頭函數 (Arrow Functions)。
- 解構賦值 (Destructuring assignment)。
- 模板字串 (Template Literals)。
較舊的 GAS 專案可能會使用 Rhino 引擎,僅支援到 ES5,但現在新建立的專案預設都會使用 V8。
特有的全域物件 (Services)
這是在 GAS 中最核心的概念。Google 將各項服務封裝成全域物件供開發者直接呼叫,不需額外引入函式庫:
SpreadsheetApp:用來操作 Google 試算表 (Google Sheets)。DriveApp:用來操作雲端硬碟 (Google Drive)。GmailApp:用來讀取、搜尋或發送郵件。FormApp:用來處理 Google 表單。UrlFetchApp:用來呼叫外部 API (類似瀏覽器的fetch或curl)。
基礎範例:變數與日誌記錄
在 GAS 編輯器中,所有的函數定義都是可以被獨立執行的。
/**
* 演示基本的數值運算與日誌輸出
*/
function basicSyntaxDemo() {
const firstName = 'Mike';
const lastName = 'Lee';
// 使用模板字串拼接文字
const fullName = `${firstName} ${lastName}`;
// 記錄到 GAS 內建的日誌系統
console.log('當前使用者:', fullName);
const score = 85;
if (score >= 60) {
Logger.log('成績及格');
} else {
Logger.log('成績不及格');
}
}
console.log vs Logger.log
在 GAS V8 環境中,你可以使用兩種方式記錄日誌:
Logger.log():GAS 傳統的記錄方式。console.log():現代化的記錄方式,會與 Google Cloud 日誌整合,查看起來更直覺。
權限與授權 (Authorization)
當你的程式碼試圖存取你的個人資料(例如讀取你的郵件或雲端硬碟檔案)時,GAS 在第一次執行時會跳出「審核權限」的對話框。
- 點擊「審核權限」。
- 選擇你的 Google 帳號。
- 如果出現「Google 尚未驗證此小應用程式」,點擊「進階」並選擇「前往『專案名稱』(不安全)」。
- 點擊「允許」。
這套授權機制確保了只有經過你同意的腳本才能代表你執行動作。