スプレッドシートからGASを動かして、自分のGoogleカレンダーから当日の予定を取得して処理するためのメモです。
今日の予定を配列で取得する
const cal = CalendarApp.getDefaultCalendar();
const today = new Date();
const events = cal.getEventsForDay(today);
events.forEach(e => Logger.log(e.getTitle() + " (" + e.getStartTime() + ")"));
GASでGoogleカレンダーを操作し、当日の予定を取得するコードです。Googleスプレッドシートから連携させて今日の予定だけ取る処理を組みたいとき、この短い記述で対象の一覧を引っ張ってこれます。
getEventsForDayで指定した1日分の予定を扱う
getEventsForDayで返ってくるのは、指定した1日分の予定オブジェクトの配列です。そのままでは単なるオブジェクトの集まりなので、ループ処理で回してgetTitle()やgetStartTime()を使い、予定のタイトルと開始時間を引き出しています。
毎朝の自動通知Botと連携させる
取得した今日の予定データは、リマインダー用途によく使われます。時間主導型のトリガーを使って毎朝8時などにこの処理を動かせば、当日のスケジュールをSlackやLINEへ自動通知するBotが組めます。スプレッドシート側に祝日リストや通知先の情報を書いておき、スクリプトから読み込ませる構成にすると管理がしやすくなります。
