跳到主要內容

Apps Script for Google Calendar with SMS notify

Calendar是Google旗下一門重要的產品
而不少G-Fans都有發現Calendar擁有免費的SMS通知功能(參考:https://developers.google.com/apps-script/articles/gmail_filter_sms)
既然如此,透過Apps Script來觸發這個Event是在好不過
因為Apps Script完美的整合Google旗下許許多多的產品
讓你可以透過簡單的SDK使用該服務...

下面展示使用Apps Script建立一個Calendar Event
並且透過Calendar的一些設定,就可以讓Apps Script做到SMS通知...

Step1: 建立一個Google Calendar

建立行事曆的過程頗簡單,這邊不介紹...
當行事曆建立完成,在行事曆旁邊的下拉三角形點一下,就可以進入行事曆的詳細設定頁面(如下)



在這個頁面中,有三個頁籤,第一個頁籤往下拉會看到Calendar ID的值
這邊需要把它記錄下來,之後寫程式會用到...



Step2: 設定通知,並啟用簡訊通知

在日曆詳細頁面的第三個是提醒與通知中,在最下面的可以設定啟用簡訊通知的目的電話號碼(日後有分享給其他使用者時,需要請該使用者也註冊電話號碼,否則就無法收到訊息),然後再第一欄"New Event"的部份勾取SMS,這樣只要有新的Calendar Event進來,就會發出通知...



Step3: 建立Apps Script

來到最後一個步驟...如果曾經試過Apps Script去開過Calendar Project的話,會發現建立Calendar Event如此簡單....
下面function就是實際建立Calendar Event的程式碼,而其中加上了幾個部分

  • calendarId: 日曆ID,就是上面詳細頁面中顯示的那個ID值
  • addSmsReminder(0): 表示直接發送SMS通知

function createEvent() {
  var calendarId = '9s...1c@group.calendar.google.com';
  var cal = CalendarApp.getCalendarById(calendarId);
  var title = 'Script Demo Event';
  var start = new Date();  //擷取現在時間
  var end = new Date(new Date().getTime() + 10*1000);  //結束時間必須大於開始時間,這邊加10秒鐘當結束時間
  var desc = 'Created using Google Apps Script';
  var loc = 'Script Center';
  
  var event = cal.createEvent(title, start, end, {
      description : desc,
      location : loc
  }).addSmsReminder(0);
};

接下來,直接點選執行createEvent這個function,就可以直接建立Calendar Event併發送出簡訊了唷∼



下面是收到的簡訊:



使用Calendar結合簡訊的功用不少,最直覺想到的就是跟之前所介紹的Monitor做結合
在多次連線偵測不到的狀況,就發送簡訊通知
一來可以在日曆上留下一筆記錄∼
一來也可以通知相關人員進行檢測 :D


留言

張貼留言

這個網誌中的熱門文章

透過Google Apps Script結合Google Form做即時郵件通知

體驗過Google Apps Script的功能後,也發現他結合GmailApps的模組 GmailApps的應用可以用在表單填寫完成後,做發信的通知 例如您開立了一個訂購的表單,為了要在第一時間通知商家有訂單進入 就可以直接呼叫Gmail做發信的通知,讓手持Smart Phone的我們可以很快的知道生意上門了! 下面規劃三個function,其中: onCommit():為form commit時候觸發的function,需要掛載於form commit trigger上 jsonArrToTable():目的將json array解析成為一個Table getLastRowTable():目的將整個table的回傳過濾為剩下第一筆(表頭,含有Form的欄位說明)與最後一筆(原則上就是剛剛送出的那一筆表單) 完整程式碼如下: function onCommit(){   var sheet = SpreadsheetApp.getActiveSheet();   var rows = sheet.getDataRange();   var numRows = rows.getNumRows();   var values = rows.getValues();   var content = getLastRowTable(values);   var htmlBody = "Hi Admin: <br/><br/>有訂單拉,檢查一下吧! <br/><br/>" + content + '<br/><br/>Send by Google Apps';   GmailApp.sendEmail(     " your-email-address@gmail.com ",      "Order Confirm Notice",      htmlBody,      {from: ' from-email-...

Share a chrome plugin for manage google cloud platform

好玩意兒報報.... 同事的新作,把Google Project List在Chrome Plugin中! 對一次管理多個專案的人來說,真得超方便的拉! 下載: https://chrome.google.com/webstore/detail/gdclauncher/bicgkglnnilldakpenngnblekooejnpg 使用說明: 1. Use browser url bar to quick search: Type "gdcl" in browser Press "TAB" to start search Type the project id key word then select the search result... 2. Using quick launch bar... You can search by keyword or click project name to go to the project or gae link to go to gae or go to billing page....

Cloud Monitor嚐鮮

GCP上,我們非常想要的一個功能,終於問世.... Cloud Monitor來了!