批次匯入Google行事曆

在Google Apps的架構中,要透過App Script做到行事曆的批次匯入是相當簡單的事情
尤其以Admin帳號作批次import不同user的行事曆資訊
通常在第一次轉入時後相當重要...

下面展是透過Google Sheet統計好需要匯入的行事曆資訊
然後透過建立Sheet binding的Apps Script開發匯入的程式...


程式碼大約如下:
/* 主程式,將會讀取sheet的資料,然後進行建立行事曆動作 */
function main() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rows = sheet.getDataRange();
  var numRows = rows.getNumRows();
  var values = rows.getValues();

  for (var i = 1; i <= numRows - 1; i++) {
    var row = values[i];
    Logger.log(row);
    createEvent(row[0], new Date(row[1]), new Date(row[2]), row[3], row[4], row[5])
  }
};

/* 建立行事曆'主程式,需要針對行事曆作subscribe,避免新進人員資訊無法閱讀出錯 */
function createEvent(calendarId, start, end, title, desc, loc) {
  CalendarApp.subscribeToCalendar(calendarId);
  var cal = CalendarApp.getCalendarById(calendarId);
  var event = cal.createEvent(title, start, end, {
      description : desc,
      location : loc
  });
  cal.setHidden(true);
};

Script建立好後,執行這個Script就可以開始匯入行事曆了...下面是匯入後的狀況...


針對行事曆上的互動,透過Apps Script將會都變得很簡單唷
試試看吧...