Google Apps Script(GAS)是由Google提供的應用程式開發平台。使用GAS,可以利用如HTML和JavaScript等常見的Web語言,來自動化Gmail和Google試算表等Google服務。
本文將簡單介紹GAS是什麼,以及它有什麼應用,並會提供在Google試算表上自動化處理的範例程式碼。
GAS的主要特點包括:
- 只要有Gmail帳號,誰都可以免費使用。
- 開發環境無需設置,很快就能開始。
- 使用JavaScript語法,易於學習。
- 具有記錄巨集功能,能進行無程式碼開發。
GAS的應用例子
- 在Google服務上自動化處理
- 與外部服務連接
- 開發Web應用程式
使用GAS的注意事項
- 不能操作本地文件,所有文件必須保存在Google雲端硬碟上。
- 執行時間有限制,每次執行最多6分鐘,自定義函數執行時間最多30秒。
GAS的開發方式
- 容器綁定型:開發與特定Google服務(如試算表)相關的程式。
- 獨立型:開發與Google服務無直接關聯的獨立程式。
開始使用GAS
容器綁定型
- 開啟適用的Google服務,如試算表,選擇擴充功能中的「App Script」。
- 確認程式碼編輯畫面,並在指定區域編寫程式碼。
- 更改程式名稱並保存。
- 執行程式碼,確認執行結果。
獨立型
- 開啟Google雲端硬碟,選擇「新建」中的「Google App Script」。
- 按容器綁定型方法進行編寫和執行程式。
GAS範例程式碼:每日任務自動通知
此範例將從Google試算表的任務列表自動通知至指定聊天工具 Chatwork,根據每日或每月的頻率顯示任務。
- 在試算表中創建任務表。
- 開啟App Script,編寫以下程式碼:
function main() {
const token = 'your_token';
const roomId = 'your_room_id';
const accountId = 'your_account_id';
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sh = ss.getActiveSheet();
const values = sh.getDataRange().getValues();
values.shift();
for (const value of values) { // 處理每行資料
const taskName = value[0];
const frequency = value[1];
const deadline = value[3];
if (frequency === '每日') {
addTask(token, roomId, accountId, taskName, deadline);
} else if (frequency === '每月') {
let date = new Date(deadline.getTime());
date.setDate(deadline.getDate() - 3);
date = Utilities.formatDate(date, 'JST', 'yyyy/MM/dd');
const today = Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd');
if (today === date) {
addTask(token, roomId, accountId, taskName, deadline);
}
}
}
}
function addTask(token, roomId, accountId, taskName, deadline) {
const limit = (deadline.getTime() / 1000).toFixed();
const params = {
headers: { 'X-ChatWorkToken': token },
method: 'post',
payload: {
body: taskName,
limit: limit,
to_ids: accountId
}
};
const url = 'https://api.chatwork.com/v2/rooms/' + roomId + '/tasks';
const result = UrlFetchApp.fetch(url, params);
console.log('Result: ' + result.getResponseCode() + ' ' + result.getContentText());
}
- 編輯程式碼中的API憑證和相關ID,保存並執行。
設定定時觸發器
設定程式的執行頻率來自動化通知過程。
總之,GAS是一個功能強大的工具,不僅易於上手,也能與多種Google服務和外部API連接,自動化日常工作。希望本文能幫助你更好地了解GAS,並開始使用它來提升工作效率。