有時我們會需要使用到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
若有業務合作需求,可寫信至: opweb666@gmail.com
創業、網站經營相關內容未來將發布在 小易創業筆記