GASでカレンダーからイベントIDを取得する方法
GASでカレンダーのイベントIDってどうやって取得するんだろ?公式ドキュメントを読んでも、今ひとつわからなくて…。

猫男

catman
よし、catmanが「GASを使ってカレンダーからイベントIDを取得する方法」について教えてあげよう。
GASでカレンダーにアクセスする基本
GAS(Google Apps Script)を使えば、Googleのカレンダーに容易にアクセスできる。まずはその手順を見ていこう。
GASでカレンダーサービスを使ってみよう
GASでは、CalendarAppクラスを利用してGoogleカレンダーを操作できる。
まず、カレンダーサービスを取得しよう。以下のサンプルではカレンダーのインスタンスを取得する方法を示す。
const calendar = CalendarApp.getDefaultCalendar();
ここではユーザーのデフォルトのカレンダーを取得している。もし特定のカレンダーを指定したい場合は、CalendarApp.getCalendarById(calendarId)を使うと良いさ。
特定の日付のイベントを取得する方法
次に特定の日付のイベントを取得してみよう。
const startDate = new Date('2023-10-01');
const endDate = new Date('2023-10-02');
const events = calendar.getEvents(startDate, endDate);
ここでは、2023年10月1日から2023年10月2日までのイベントを取得している。このメソッドで取得したイベントは、CalendarEventオブジェクトとして利用可能だ。
GASでカレンダーのイベントIDを取得する方法
イベントIDを取得するためのステップを見ていこう。イベントIDはイベントを一意に識別するためのもので、他の操作を行う際に非常に重要となるぞ。
取得したイベントからIDを取り出す方法は以下の通りだ。
events.forEach(event => {
const eventId = event.getId();
Logger.log('Event ID: ' + eventId);
});
これは全てのイベントをループ処理で回し、各イベントのIDを取り出している。この方法を使えば、イベントIDを簡単に取得することが可能だ。
イベントIDを取得したら、そのIDを使って何ができるんだろ?

猫男

catman
イベントIDを使えば、特定のイベントの詳細を更新したり、削除したりすることができる。そのため、GASでカレンダー管理を効率化するには欠かせない要素さ。
まとめ:GASでイベントIDを効率よく取得しよう
- GASのCalendarAppクラスを活用してカレンダーへアクセスする
- getEventsメソッドで特定の日付のイベントを取得
- 取得したイベントからgetId()メソッドを使ってイベントIDを取り出す
これでイベントID取得の手順がわかったよ!GASって本当に便利だね。

猫男

catman
そうだね。慣れれば更に高度な操作も可能になるから、ぜひ挑戦していこう!
練習問題
GASを使って指定したカレンダーIDのイベントIDを取得するスクリプトを書いてみよう。次の条件で実装してみてくれ。
- カレンダーIDは任意で指定すること
- 対象期間は2023年12月25日から2023年12月26日までとすること
- 取得したイベントIDをログに出力すること
解答・解説
const calendarId = '指定のカレンダーIDを入力';
const calendar = CalendarApp.getCalendarById(calendarId);
const startDate = new Date('2023-12-25');
const endDate = new Date('2023-12-26');
const events = calendar.getEvents(startDate, endDate);
events.forEach(event => {
const eventId = event.getId();
Logger.log('Event ID: ' + eventId);
});
このスクリプトでは、CalendarApp.getCalendarById(calendarId)を使用して、カレンダーを指定して取得している。getEventsメソッドで指定期間のイベントリストを得て、forEachメソッドで各イベントのgetId()を使ってIDをログ出力している。