カレンダーから期間内のイベントを取得する方法【GAS・getEvents】

カレンダーイベントを取得するためには、以下のように
getEvents を使用します。
この記事では、より詳しくカレンダーイベントを取得する方法について解説します。
具体的なコード例や、期間を指定した取得方法なども紹介しますので、最後まで一緒に見ていきましょう!
目次(クリックで読みたい部分にジャンプできます)
期限内のイベント取得で使用する2つのメソッド
まず、イベントを取得するために、使用するメソッドを紹介します。
カレンダーから期限内のイベントを取得するには、以下2つのメソッドを使用します。
2つのメソッド
getEventsメソッド
getEventsForDayメソッド
メソッドの使用方法
それぞれのメソッドについて簡単に解説していきます。
getEventsメソッド
getEventsメソッドは、指定した開始日時から終了日時の期間内にあるイベントを配列として取得します。
Calender オブジェクト .getEvents(開始日時,終了日時[, オプション])
getEventsForDayメソッド
getEventsForDayメソッドは、指定した日付に重なっている全てのイベントを配列として取得します。
Calender オブジェクト .getEventForDay(日付[,オプション])

2つの違いは、イベントの取得範囲です。
getEventsは自由に「開始、終了」を決められるのに対し、
getEventsForDay は日付を指定します。
実際にイベントを取得してみよう!
では、メソッドを使用して実際にイベントを取得してみましょう。
今回は例として、以下のようなカレンダーを使用してみます。

まず、カレンダーから、
2023/11/20 15:00〜 2023/11/23 23:00
までのイベントを取得するとしましょう。
間にあるイベントは、「社内業務改革MTG」以外のイベントになります。
使用するコードは以下です。
function getCalenderEvent() {
const id = '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@group.calendar.google.com'
const calendar = CalendarApp.getCalendarById(id);
const startDate = new Date("2023/11/20 15:00");
const endDate = new Date('2023/11/23 23:00');
const events = calendar.getEvents(startDate,endDate);
for (const event of events){
console.log(event.getTitle());
}
};
実行結果

確認してみると、確かに「社内業務改革MTG」以外のイベントが取得されていますね。
条件を指定してイベントを取得
今度は、条件を指定してイベントを取得してみましょう。
特定のキーワードを含むイベントを取得するようにしてみます。
例えば、「MTG」という文字を含むもののみを取得するようにします。
function getCalenderEvent() {
const id = '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@group.calendar.google.com'
const calendar = CalendarApp.getCalendarById(id);
const date = new Date("2023/11/20");
const options = {search: "MTG"};
const events = calendar.getEventsForDay(date,options);
for (const event of events){
console.log(event.getTitle());
}
};
実行結果

以上のように、イベントを取得することでより多彩な処理が可能になります。
まとめ
今回は、GASでカレンダーのイベントを取得する方法について解説しました。
紹介した内容を使用すると、カレンダーに条件を指定して自由に取得ができるようになります。
ぜひ活用してみてください!
では、また。