見出し画像

【GAS】Googleカレンダーから今日の日付のスケジュールを取得する

今日もGASについて書いて行きます。
先日はカレンダーに一括で登録する処理を書きました。

今回は登録した予定を取得する処理を書いていきます。

GoogleAppsScript

いきなりコードを書いていきます。
Googleドライブの新規登録から、その他→Google Apps Scriptを選んで、スクリプトを書けるようにしましょう。
前回のコードの続きに書いても良いかと思います。

こちらのコードを書いて実行します。
カレンダーIDはカレンダーの設定を開いて、カレンダーIDを取得してください。
※前回の記事に取得方法が書いてあるので、割愛

function getCalender() {
  // 取得するカレンダーID
  const calendar = CalendarApp.getCalendarById('sample@group.calendar.google.com');

  // 現在日時を取得
  const today = new Date();

  // 指定日の予定の配列を取得
  const events = calendar.getEventsForDay(today);

  let text = "";
  if (events.length === 0) {
    // 予定がない場合
    text = "今日は予定がないです。";
  } else {
    // 予定が1件以上の場合
    let text = "今日の予定は";

    // 予定の件数だけループ
    for (event in events) {
      // 予定のタイトルを取得
      let title = events[event].getTitle();
      // 予定の開始、終了時刻を取得
      let startHour = events[event].getStartTime().getHours();
      let startMinute = events[event].getStartTime().getMinutes();
      let endHour = events[event].getEndTime().getHours();
      let endMinute = events[event].getEndTime().getMinutes();

      // 時間をHH:mmにしたいので、日付に一度変換
      let startDate = new Date(Utilities.formatDate(today, 'Asia/Tokyo', 'yyyy/MM/dd') + ' ' + startHour +':' + startMinute);
      let endDate = new Date(Utilities.formatDate(today, 'Asia/Tokyo', 'yyyy/MM/dd') + ' ' + endHour +':' + endMinute);
      
      text = text + '\n' + title + '(' + Utilities.formatDate(startDate, 'Asia/Tokyo', 'HH時mm分~') + Utilities.formatDate(endDate, 'Asia/Tokyo', 'HH時mm分') + ')';
    }
    console.log(text);
  }
}

結果

コンソールログにこのように出てきました。
あとはメールでもなんでも飛ばせば、毎日予定のリマインドをしてもらえます。

今日の予定はこちらです。
テスト1(23時30分~01時30分)
テスト2(09時45分~13時00分)
テスト3(15時30分~18時00分)
テスト4(21時00分~22時00分)

簡単に実装できました。
翌日などの予定とかもコードを少しいじればすぐに実装可能かと思います。
便利なのでぜひGASを使ってみてください。


この記事が気に入ったらサポートをしてみませんか?