GASで既存イベントを検索・更新・削除する方法

先生

GASでGoogleカレンダーを自由自在に操ろう!イベント検索、更新、削除の自動化で、カレンダー管理をもっとスマートに。

GASで既存イベントを検索する方法

Google Apps Script(GAS)でGoogleカレンダーの既存イベントを検索する方法を解説します。イベントの検索は、特定の日付範囲やキーワードに基づいて行うことができます。

まず、カレンダーIDを指定してカレンダーオブジェクトを取得します。カレンダーIDは、Googleカレンダーの設定画面から確認できます。

function searchEvents(calendarId, startDate, endDate, keyword) {
  var calendar = CalendarApp.getCalendarById(calendarId);
  var events = calendar.getEvents(startDate, endDate, {search: keyword});
  return events;
}

この関数は、calendarIdstartDateendDatekeywordを引数として受け取ります。

getEvents()メソッドは、指定された期間内のイベントを検索し、searchオプションでキーワードを指定することで、特定のキーワードを含むイベントのみを抽出できます。

次に、取得したイベントをループ処理して、必要な情報を取得します。

function displayEventDetails(events) {
  for (var i = 0; i < events.length; i++) {
    var event = events[i];
    var title = event.getTitle();
    var startTime = event.getStartTime();
    var endTime = event.getEndTime();
    Logger.log('Title: ' + title);
    Logger.log('Start Time: ' + startTime);
    Logger.log('End Time: ' + endTime);
  }
}

この関数は、取得したイベントのタイトル、開始時間、終了時間をログに出力します。event.getTitle()event.getStartTime()event.getEndTime()などのメソッドを使用して、イベントの各プロパティにアクセスできます。

これらの関数を組み合わせることで、GASを使ってGoogleカレンダーの既存イベントを簡単に検索できます。

GASで既存イベントを更新する方法

GASで既存イベントを更新するには、まずイベントを検索し、そのイベントオブジェクトに対して更新操作を行います。

イベントを更新するには、setTitle()setDescription()setTime()などのメソッドを使用します。

function updateEvent(calendarId, eventId, newTitle, newDescription, newStartTime, newEndTime) {
  var calendar = CalendarApp.getCalendarById(calendarId);
  var event = calendar.getEventById(eventId);
  event.setTitle(newTitle);
  event.setDescription(newDescription);
  event.setTime(newStartTime, newEndTime);
}

この関数は、calendarIdeventIdnewTitlenewDescriptionnewStartTimenewEndTimeを引数として受け取ります。

getEventById()メソッドを使用して、特定のイベントIDを持つイベントオブジェクトを取得します。

setTitle()メソッドでイベントのタイトルを、setDescription()メソッドでイベントの説明を、setTime()メソッドでイベントの開始時間と終了時間を更新します。

イベントIDは、イベントを検索した際に取得できます。もしくはカレンダーから直接確認できます。

GASで既存イベントを削除する方法

GASで既存イベントを削除するには、イベントを検索し、そのイベントオブジェクトに対して削除操作を行います。

イベントを削除するには、deleteEvent()メソッドを使用します。

function deleteEvent(calendarId, eventId) {
  var calendar = CalendarApp.getCalendarById(calendarId);
  var event = calendar.getEventById(eventId);
  event.deleteEvent();
}

この関数は、calendarIdeventIdを引数として受け取ります。

deleteEvent()メソッドを呼び出すことで、イベントを削除できます。

削除されたイベントは、元に戻すことができないため、注意が必要です。

参考リンク

まとめ

GASを使用することで、Googleカレンダーのイベントを検索、更新、削除することが可能です。これらの機能を活用することで、カレンダー管理を自動化し、業務効率を向上させることができます。

今回紹介したサンプルコードを参考に、ぜひご自身のプロジェクトにGASを導入してみてください。