【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を使ってみてください。
この記事が気に入ったらサポートをしてみませんか?