Google Apps Scriptでゲストをカレンダーに取得・追加する方法を詳説!

GASでどうやったらカレンダーのイベントにゲストを取得・追加できるんだろう?試してみたいんだけど、不安で…
猫男
猫男
catman
catman
よし、catmanが「GASでカレンダーにゲストを取得・追加」する方法を教えてやろう!

GASでカレンダーのゲストを取得する

まずは、既に作成されているカレンダーイベントからゲストを取得する方法だ。

カレンダーイベントを取得する

イベントを操作するために、まずはGoogle カレンダーのイベントを取得する必要がある。

スクリプトはこんな感じだ。


function getEventGuests() {
  const calendar = CalendarApp.getCalendarById('YOUR_CALENDAR_ID');
  const events = calendar.getEvents(new Date('2023-10-01'), new Date('2023-10-31'));
  const event = events[0];
  const guests = event.getGuestList();
  
  guests.forEach(guest => {
    Logger.log(guest.getEmail());
  });
}   

✅ CalendarApp.getCalendarById()で特定のカレンダーを取得し、getEvents()でイベントをリストとして取得する。

ゲストの取得はイベントから行う。このリストは、各ゲストの情報を含んでいる。

✅ event.getGuestList()でイベントに関連する全てのゲストを配列で取得できる。

GASでカレンダーにゲストを追加する

次に、新しいゲストをカレンダーイベントに追加する方法を見てみよう。

カレンダーイベントにゲストを追加

イベントに新しいゲストを追加するには、以下のスクリプトを使う。


function addGuestToEvent() {
  const calendar = CalendarApp.getCalendarById('YOUR_CALENDAR_ID');
  const events = calendar.getEvents(new Date('2023-10-01'), new Date('2023-10-31'));
  const event = events[0];
  const email = "new.guest@example.com";
  
  event.addGuest(email);
  Logger.log(email + " has been added!");
}   

✅ event.addGuest()を使って、ゲストのメールアドレスを指定してイベントに追加できる。

おお、イベントにゲストを追加するのがこんなに簡単だったなんて!
猫男
猫男

 

練習問題:GASでカレンダー操作を試してみよう!

次の条件でGASを使ってカレンダーイベント内のゲストを管理してみよう。

  1. カレンダーIDを指定して、特定のイベントを取得しよう。
  2. イベントに「test.guest@example.com」というゲストを追加しよう。
  3. 追加された結果をLoggerで表示しよう。

 

解答と解説


function manageEventGuests() {
  const calendar = CalendarApp.getCalendarById('YOUR_CALENDAR_ID');
  const events = calendar.getEvents(new Date('2023-10-01'), new Date('2023-10-31'));
  const event = events[0];
  const email = "test.guest@example.com";
  
  event.addGuest(email);
  Logger.log(email + " has been successfully added to the event!");
}   

✅ manageEventGuests()関数を使って、指定のカレンダーのイベントにゲストを追加し、その結果を確認することができる。

CalendarApp.getCalendarById()は特定のカレンダーを取得するのに用いられる。getEvents()は指定された日付範囲内のイベントをリストして、第一のイベントにゲストを追加する。

これなら、ボクでもGASでカレンダーの管理ができそうだよ!ありがとう、catman!
猫男
猫男
catman
catman
その意気だ!どんどんカレンダー操作を試して、自分のスキルを磨こう!