上一次在[GAS]Serverless簡易後端實現(1/2)介紹了GAS基本的使用方式,但GAS的潛力可不只如此,今天繼續帶你挖掘更多方便的功能。
本文目錄
GAS後端如何寄送Email
寄送Email,只要一行搞定,不需要mail server,要注意的是,先用測試跑過,會跳出權限請求,同意後就OK了,不過收信沒有非常即時,我測試過了約2-3分鐘才收到,如果想寄更花俏的信,可以參考這篇,建立一個HTML樣板,再帶入字串,看起來更專業了

function sendMail(){
MailApp.sendEmail(
'yourmail@yahoo.com.tw',
'your subject',
'your content');
}
GAS後端如何連接其他API
靜態網頁經常因為沒有後端可以取得其他API資料而頭痛,如今GAS可以幫你取得其他Web API資料囉,不管你是要抓天氣還是空汙等等,通通沒問題!這邊筆者使用jsonbin.io的服務來測試,他可以免費讓你存取json資料在上面,使用ajax便可存取資料,也是前端的好工具
function fetch(){
var url = 'https://api.jsonbin.io/b/5e14969db236b871b35da849';
var result = UrlFetchApp.fetch(url, {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'secret-key': 'secret key from json.io',
},
'method': 'get',
'payload': null,
});
console.log(result);
}

定時執行或觸發執行
這個部分說不得不說Google真是佛心,提供了這麼好用的功能,即使是在後端,這個功能也需要寫程式,或另外設定排程,GAS可以直接選單點一點就搞定,讓使用情境又擴大了許多,像是定時檢查網站存活、定時取得API資料,達到條件時寄信通知等等。



可以看到觸發條件的活動來源,各自有不同的觸發事件
- 試算表
- 文件開啟時
- 編輯文件時
- 文件內容變更時
- 提交表單時
- 時間驅動
- 特定的日期和時間
- 分鐘計時器
- 小時計時器
- 日計時器
- 週計時器
- 月計時器
- 來自日曆
- 已更新日曆
建立Google行事曆
GAS還可以串聯你的行事曆,幫你添加活動,實則做為一種通知手段,因為行事曆可以設定Email、簡訊、彈跳視窗提醒,是不是很方便呢,時間部分要注意時區問題,除非指定特定時區,不然都會以server時區為主,可能跟預想的不一樣,另外也可以定義盡更多屬性,像是描述地點,甚至可以邀請其他人,並發送通知。
function createCalendar(){
var title = '測試提醒';
var start_time = new Date('2020/01/08 15:30:00 UTC');
var end_time = new Date('2020/01/08 15:50:00 UTC');
var cal = CalendarApp.getDefaultCalendar();
//建立基本活動
cal.createEvent(title, start_time, end_time).addSmsReminder(0);
//增加額外描述資訊
cal.createEvent(title, start_time, end_time, {
description: 'description',
location: 'Taipei 101',
guests: 'xxx@gmail.com, zzz@gmail.com',
sendInvites: true
}).addSmsReminder(0);
}
執行後就自動建立完畢


參考來源