Google Apps ScriptでGoogle Calendarから今日の予定のまとめをメールにする

Google Apps Scriptを何かできないかなーと思ってたら以下の記事を見つけました。

Google Apps Script 入門 (業務で使えるサンプルを日本語で解説): 【業務で使える】今日の予定通知ツール(4)スクリプトの改良

これは便利!使える!っと思ったのですが記事のサンプルはデフォルトカレンダーのみの対応。 複数のカレンダーを使っている自分には不便。 そこですべてのカレンダーの予定をメールできるようにコードを変更しました。

function mySendEventsToday() {
  var cal = CalendarApp.getAllCalendars();
  var mail_to = "hogehoge@gmail.com";
  var today = Utilities.formatDate(new Date(), "JST", "yyyy/MM/dd");
  var subject ="【今日の予定:" + today + "】";
  
  // 終日イベントをメールのbodyに追加
  var body = "◆終日イベント\n";
  for (var i = 0; i < cal.length; i++) {
    var ev = cal[i].getEventsForDay(new Date());
    // 不必要なカレンダーを省く
    if (cal[i].getName() == "hogehoge") {
      continue;
    }
    for (var j = 0; j < ev.length; j++) {
      // 今日の終日イベントのみを抽出する
      if (ev[j].isAllDayEvent() && (Utilities.formatDate(ev[j].getEndTime(), "JST", "yyyy/MM/dd") > today)) {
        body = body + "・";
        body = body + ev[j].getTitle();
        body = body + "\n";
      }
    }
  }  
  
  body = "\n" + body + "◆時間イベント\n";
  // イベントを配列に格納
  var ev = [];
  for (var i = 0; i < cal.length; i++) {
    var tmp_ev = cal[i].getEventsForDay(new Date());
    for (var j = 0; j < tmp_ev.length; j++) {
      if (!tmp_ev[j].isAllDayEvent()) {
        ev[ev.length] = tmp_ev[j]
      }      
    }
  }
  
  // イベントをソート
  for (i = 0; i < ev.length-1; i++) {
    for (j = 0; j < ev.length-1-i; j++) {
      if (ev[j].getStartTime() > ev[j+1].getStartTime()) {
        var tmp = ev[j+1];
        ev[j+1] = ev[j];
        ev[j] = tmp;
      }
    }
  }
    
  // イベントをメールのbodyに追加  
  for (var i = 0; i < ev.length; i++) {
    body = body + "・";
    body = body + Utilities.formatDate(ev[i].getStartTime(), "JST", "HH:mm");
    body = body + " - ";
    body = body + Utilities.formatDate(ev[i].getEndTime(), "JST", "HH:mm");
    body = body + " ";
    body = body + ev[i].getTitle();
    body = body + "\n";    
  }  
  
  MailApp.sendEmail(mail_to, subject, body);
}