やりたいこと
「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。

もりぞー
部下の予定には、必ず上司を参加させる、なんて使い方もできますね!
コードとか、トリガとか何!?という方はこちらに基礎的な内容をまとめておきました。
よろしければ。


