カレンダーイベントからゲストを削除するメソッド— removeGuest()
今回のメソッドは、プログラムを使ってカレンダーイベント(予定)からゲストを削除するremoveGuest()メソッドの紹介をします。
以前予定にゲストを追加するaddGuest()メソッドの紹介をしましたが、今回はその逆に招待したゲストを予定から削除するコードです。
ゲストを予定から削除する場合は、追加する時と同じようにEメールを指定して削除します。
『 引数に入れる値 』
複数ユーザーを一度に削除することは出来ませんので複数のユーザーを予定から削除したい場合にはループ処理で人数分の処理を行う必要があります。
removeGuest(email)
サンプルコード1
//ゲストを削除するコード function sampleCodeForCalendarAppRemoveGuest1() { var calendar = CalendarApp.getDefaultCalendar(); var date = new Date(); var events = calendar.getEventsForDay(date); var email = ""; //追加したいユーザーのEメールを指定 for (var i in events) { var event = events[i]; event.removeGuest(email); /*イベントIDで指定するときには下記のコード var eventId = events[i].getId(); var event = calendar.getEventById(eventId); event.removeGuest(email); */ //以下は予定の通知を送信するコード var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); var startTime = event.getStartTime(); var hour = startTime.getHours(); var minutes = startTime.getMinutes(); if (minutes < 10) { minutes = "0" + minutes; } var title = "予定のゲスト登録が解除されました"; var description = year + " 年 " + month + " 月 " + day + " 日 " + "の " + event.getTitle() + " という予定からゲスト登録が解除されました。"; MailApp.sendEmail(email, title, description); } }
『 変数の説明 』
calendar = デフォルトカレンダーを取得
date = プログラム実行日を代入
events = プログラム実行日に作成済みのイベントを取得
email = 追加したいユーザーのEメール
サンプルコード2
//予定から複数のゲストを削除するコード function sampleCodeForCalendarAppRemoveGuest2() { var calendar = CalendarApp.getDefaultCalendar(); var date = new Date(); var events = calendar.getEventsForDay(date); var emails = ["",""]; //複数ユーザーを追加する場合は配列に入れてループ処理 for (var i in events) { var event = events[i]; for (var j in emails) { var email = emails[j]; event.removeGuest(email); //以下は予定の通知を送信するコード var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); var startTime = event.getStartTime(); var hour = startTime.getHours(); var minutes = startTime.getMinutes(); if (minutes < 10) { minutes = "0" + minutes; } var title = "予定のゲスト登録が解除されました"; var description = year + " 年 " + month + " 月 " + day + " 日 " + "の " + event.getTitle() + "からゲスト登録が解除されました。" MailApp.sendEmail(email, title, description); } /*イベントIDで指定するときには下記のコード var eventId = events[i].getId(); var event = calendar.getEventById(eventId); for (var j in emails) { var email = emails[j]; event.addGuest(email); } */ } }
スクリプトができたら▶ボタンでプログラムを実行してみましょう。プログラムが終了すれば実行した日にデフォルトカレンダーに作成済みの予定から指定したユーザーがゲスト登録を解除されます。
まとめ
今回はプログラム的に予定からゲストを削除するremoveGuestメソッドを紹介しました。一度の実行で一人ずつしか削除できないので、複数人を同時に処理したい場合はループ処理などを行うコードを組んで下さい。