PR表記

Google カレンダーの同期

スポンサーリンク
スポンサーリンク

やりたいこと

「AAA@google.com」のカレンダーに予定を入れたら、自動で「BBB@google.com」のカレンダーに予定を同期させる。

こんな場合にどうぞ

A社とB社でメールを分けている従業員のそれぞれのGoogleカレンダーの予定を同期させる。
 →それぞれのGoogleカレンダーからは、「表示」させるのではなく「同期」させる。

もりぞー
もりぞー

自分の画面上だけで2つのGoogleカレンダーを表示させるのは、標準的な機能で実装できるの。
でも今回やりたかったことは、A社とB社のGoogleカレンダーを同期させることにより、「〇〇さんの予定埋まっているな~」ということを、それぞれの会社の他の従業員に認識させたかったのです。

やり方

正攻法ではできないので、GASで対応しました。
「同期」は正確には、「Aのカレンダーに予定を入れたら、自動でBをゲスト追加する」です。

コード

function CalSync() {
    //自分のGoogleアカウントのデフォルトカレンダーを取得する
    const calendar = CalendarApp.getDefaultCalendar();
    var now = new Date();
    var afterDay180 = new Date();
    afterDay180.setDate(afterDay180.getDate() + 180); // 180日後のスケジュールまで取得
    var events = CalendarApp.getDefaultCalendar().getEvents(now, afterDay180);

    for(var i in events){
        var event = events[i];
        Logger.log(event.getTitle());
        event.addGuest('AAA@google.com');             // ゲスト追加するGoogleアカウント
  }
}

@以降のドメインが異なっていても正常に動作しました。
あとは、トリガを設定してあげればOK。

もりぞー
もりぞー

部下の予定には、必ず上司を参加させる、なんて使い方もできますね!


コードとか、トリガとか何!?という方はこちらに基礎的な内容をまとめておきました。
よろしければ。

タイトルとURLをコピーしました