【コピペで使える】GASでカレンダーにゲストを追加してみる

icon_for_CalendarApp_ addGuest
URLをコピーする
URLをコピーしました!
目次

カレンダーイベントにゲストを追加するメソッド— addGuest()

今回のメソッドは、プログラムを使ってカレンダーイベント(予定)にゲストを追加するaddGuest()メソッドの紹介をします。

ゲストとして他のユーザーを登録する場合は、Eメールを指定してゲストとして登録します。プログラムで追加を行う場合には相手には追加されたことが通知されませんので、プログラムではその部分を補ってあげる方が親切かもしれません。

予定からゲストを削除するremoveGuest()メソッドはこちらでご紹介しています。

    1. addGuest(email)

『 引数に入れる値 』

    • email(文字列) — ゲストとして追加したいユーザーのemailアカウントを指定

複数ユーザーの追加は出来ませんので複数のユーザーを登録したい場合にはループ処理で人数分の処理を行う必要があります。

addGuest(email)

サンプルコード1
//ゲストを追加するコード
function sampleCode1() {
  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.addGuest(email);
    /*イベントIDで指定するときには下記のコード
      var eventId = events[i].getId();
      var event = calendar.getEventById(eventId);
      event.addGuest(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 = year + " 年 " + month + " 月 " + day + " 日 " + 
                hour + ":" + minutes + "スタートの " + event.getTitle() + 
                " という予定にゲストとして追加されました";
    var description = "予定に追加されました。\n\n" + 
                      "【予定の詳細】\n" +
                      event.getDescription();
    MailApp.sendEmail(email, title, description);
  }
}

『 変数の説明 』

calendar = デフォルトカレンダーを取得
date = プログラム実行日を代入
events = プログラム実行日に作成済みのイベントを取得
email = 追加したいユーザーのEメール

サンプルコード2
//複数のユーザーをゲストとして予定に追加するコード
function sampleCode2() {
  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.addGuest(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 = year + " 年 " + month + " 月 " + day + " 日 " + 
                  hour + ":" + minutes + "スタートの " + event.getTitle() + 
                  " という予定にゲストとして追加されました";
      var description = "予定に追加されました。\n\n" + 
                        "【予定の詳細】\n" +
                        event.getDescription();
      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);
      }
    */
  }
}

スクリプトができたら▶ボタンでプログラムを実行してみましょう。プログラムが終了すれば実行した日にデフォルトカレンダーに作成済みの予定に指定したユーザーが追加されます。追加されたゲストを確認する方法は予定をクリックして詳細を確認してみてください。

まとめ

今回はプログラム的に予定にゲストを追加するメソッドを紹介しました。一度の実行で一人ずつしか追加できない事と追加しただけでは追加された側に通知が送られない事に留意して使ってみてください。

icon_for_CalendarApp_ addGuest

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初心者でもわかるGoogle Apps Script活用のススメの管理人。
業務でラクをするという邪な目的のためにプログラムを独学で勉強し始め、初心者向けのGoogle Apps Scriptの使い方サイトを運営するに至る。
ラクをするためにはどんな苦労も厭わないという考えから、手っ取り早くスキルアップするためにCrowdWorksやLancersなどで仕事を受注し始め、過去にはTopClass PRO Crowd workerに認定された経験を持つ。
現在では、業務効率化システムの開発を行う会社の代表を務める。

目次
トップへ
目次
閉じる