有時我們會需要使用到cron job去定時執行一些任務,當然我們可以租台VPS伺服器或是使用一些現成的cron job服務,但無論是租用VPS還是現成服務,通常都是需要付費的。所以讓我們好好的利用Google大神,提供的這項功能吧!
註:Google Apps Script 是有限制的,詳細配額限制請參考:
https://developers.google.com/apps-script/guides/services/quotas
一.建立spreadsheets
首先,我們先進入google雲端硬碟或是google試算表建立一個新的試算表(spreadsheets)頁。
二.建立Google Apps Script
在試算表 > 工具 > 指令碼編輯器
會自動開啟一個新的App Script,裡面什麼也沒有

接著我們在編輯區編寫一小段code。(這段code的作用是將試算表A1欄位更新為目前的時間)
之後你能改成你想要的code,這邊只是簡單演示CronJob如何設定

/* *
Google Apps Script CRON Job
@Aidec Li
*/
function execCronJob() {
// 讀取 Active Spreadsheet
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// 獲取 A1
var dataRange = sheet.getRange("A1");
// 獲取 A1值
var data = dataRange.getValues();
Logger.log(data);
// 更新A1欄位為指定目前的時間
var currentTime = new Date();
//Logger.log(currentTime);
dataRange.setValue(currentTime);
//設定欄位值的簡化寫法
SpreadsheetApp.getActiveSheet().getRange('C1').setValue('Hello Aidec Li');
SpreadsheetApp.flush();
}編寫好Code以後,保存專案,並執行~

執行腳本,第一次執行會要求授權,是正常現象。
第一次執行會要求授權,點[審查權限]

接著,會要你選擇google帳號

然後可能會出現安全提示,說這個應用程式未經驗證,但不必擔心(反正code是自己寫的),點[進階] > 前往[未命名的專案](不安全)

最後,允許此專案使用你的google帳戶,之後我們就能使用這個google apps script了

三.設定Cron job
接下來,是重頭戲!要真正的開始設定,Cron job任務。
建立觸發器
點左側的的「時鐘」,進入[觸發條件]頁,再點右下角[新增觸發條件]按鈕

選擇要執行的func,這邊我們只有寫execCronJob這個function,所以選擇它。
再將活動來源,改成以[時間驅動]

在選擇時間觸發的類型,是要分鐘、小時、天....,以及選擇間隔,每分鐘、每五分鐘....。
設定完畢後,儲存設定,就搞定了。
Cron Job的應用
這個Cron Job可以怎麼應用,目前想到的是
1.可以用來每分鐘ping自己的服務,判斷網站是否在線,掉線的話就用lineNotify自動通知....
2.定時去證交所抓資料,判斷指定股票是否到價,在發送lineNotify通知的
改天有寫出來,在分享給大家。(最近忙忙的)
文章轉載或引用,請先告知並保留原文出處與連結!!(單純分享或非營利的只需保留原文出處,不用告知)
原文連結:
https://blog.aidec.tw/post/cronjob-google-app-script-spreadsheet
若有業務合作需求,可寫信至: [email protected]
創業、網站經營相關內容未來將發布在 小易創業筆記