スキップしてメイン コンテンツに移動

GASでカレンダーイベントを自在に操作

GASでカレンダーイベントを自在に操作

GAS連携でカレンダー詳細を取得

Google Apps Script(GAS)を使って、Google カレンダーのイベント詳細を取得する方法を紹介します。まずは CalendarApp を利用し、指定したカレンダーからイベントを取得します。以下のコードは、今日の日付から1週間分のイベントを取得し、詳細情報をログに出力するサンプルです。

function getUpcomingEvents() {
  const calendar = CalendarApp.getCalendarById('primary');
  const now = new Date();
  const oneWeekLater = new Date(now.getTime() + 7 * 24 * 60 * 60 * 1000);
  const events = calendar.getEvents(now, oneWeekLater);
  events.forEach(event => {
    Logger.log('タイトル: ' + event.getTitle());
    Logger.log('開始: ' + event.getStartTime());
    Logger.log('終了: ' + event.getEndTime());
    Logger.log('説明: ' + event.getDescription());
  });
}

このスクリプトを実行すると、カレンダー詳細が取得でき、必要に応じて他の処理へ渡すことが可能です。

イベント削除(deleteEvent)の実装

取得したイベントを削除するには、deleteEvent メソッドを使用します。以下は、特定のイベントIDを持つイベントを削除する例です。

function deleteSpecificEvent(eventId) {
  const calendar = CalendarApp.getCalendarById('primary');
  const event = calendar.getEventById(eventId);
  if (event) {
    event.deleteEvent();
    Logger.log('イベントを削除しました: ' + eventId);
  } else {
    Logger.log('イベントが見つかりません: ' + eventId);
  }
}

イベント削除は不可逆的な操作ですので、実行前に必ず確認を行うようにしましょう。

タイトル変更(setTitle)と説明追加(setDescription)

既存のイベントのタイトルや説明を変更するには、setTitlesetDescription を使用します。以下のサンプルでは、イベントのタイトルを「会議」から「ミーティング」に変更し、説明を追加しています。

function updateEventDetails(eventId) {
  const calendar = CalendarApp.getCalendarById('primary');
  const event = calendar.getEventById(eventId);
  if (event) {
    event.setTitle('ミーティング');
    event.setDescription('プロジェクト進捗確認のためのミーティングです。');
    Logger.log('イベントを更新しました: ' + eventId);
  } else {
    Logger.log('イベントが見つかりません: ' + eventId);
  }
}

タイトル変更と説明追加は、イベントの可視性や参加者への情報共有に大きく影響します。変更後は必ず確認を行いましょう。

ゲスト追加(addGuest)の使い方

イベントにゲストを追加するには、addGuest メソッドを利用します。以下の例では、メールアドレスを指定してゲストを追加し、招待メールを送信します。

function addGuestToEvent(eventId, guestEmail) {
  const calendar = CalendarApp.getCalendarById('primary');
  const event = calendar.getEventById(eventId);
  if (event) {
    event.addGuest(guestEmail);
    Logger.log('ゲストを追加しました: ' + guestEmail);
  } else {
    Logger.log('イベントが見つかりません: ' + eventId);
  }
}

ゲスト追加は、イベントの参加者管理に不可欠です。招待メールの送信設定はカレンダー側で有効にしておくと、追加時に自動でメールが送られます。

この記事はAIによって作成されました。

コメント