複数のGoogleカレンダー上の予定を集約して,一つの共有用カレンダーを作成します.
保存していたカレンダー単位で新たに共有用の名前をつけて公開することができます.
公開したくない予定,特定の名前で公開する予定など,様々なカスタマイズが可能です.
->
(自分が記入したカレンダー) -> (アプリが出力するカレンダー)
よく理解した上でご利用ください.本プログラムの利用に伴うトラブルについて一切の責任を負いかねます.
- Google ドライブにアクセス
- 任意のフォルダを作成/移動し,新規 > その他 > Google Apps Script を作成・IDEの起動
- main.jsの内容を貼り付け
- 共有するカレンダーの設定を行う
- Google Calendarにアクセス
- 共有するカレンダーを作成
- 共有するカレンダーの設定欄から,Calender IDを確認して,main.jsの
OUT_CAL_ID
に貼り付けconst OUT_CAL_ID = "[email protected]"; // 共有用
自分で作成したカレンダーは<記号列>@group.calendar.google.com
というIDが自動的に割り振られる. - 同様に共有元となるカレンダーの設定欄から,Calender IDを確認して,main.jsの
IN_CAL_ID
に貼り付けアカウント標準カレンダーのCalender IDはGMailアドレスに一致するconst IN_CAL_ID = [ "[email protected]", // メインのカレンダー "[email protected]", // 仕事のカレンダー "[email protected]" // 家族との共有カレンダー ];
アクセス権限があれば,自分以外のアカウントのカレンダーも参照可能 - main.jsの
IN_CAL_NAMES
に各カレンダーの公開名を入力.順番はCalender IDの順番と一致させる - (Optional) 必要であればmain.jsの
IGNORE_EVENTS_TITLE
に共有対象にしないイベント名を記入 - (Optional) 必要であればmain.jsの
decide_new_event_title
に特別な置換ルールを記入
- IDE上の実行ボタンをクリック
- ポップアップ上の「権限を確認」をクリックし,スクリプトを作成中のGoogleアカウントでログイン
- 自作のスクリプトのため警告が表示される.左下の「詳細」から「{プロジェクト名}(安全ではないページ)に移動」をクリック
- カレンダーの権限を承認
- 再度「実行」をクリック
- カレンダーに移動して反映を確認
- 共有用カレンダーを適宜共有する
- (Optinonal) トリガーの追加ページから,毎日決まった時間に実行 / カレンダーに変更があれば実行 など自動実行を設定
※GASは1日あたりの実行数制限があるので要注意
(例)私のトリガー
- 各カレンダーが変更されたらon_cal_changed
を実行
- 1日に1回,daily_run
を実行(実行失敗した処理があるとカレンダーが乱れているため)
そのうちします.
- 複数のGoogleカレンダーをまとめる - Qiita https://qiita.com/k6s4/items/f7d8a3baa095b97ac0de
- 複数の Google Calendar をまとめた Calendar を Google Apps Script を利用して作成する - KainokiKaede's diary https://kainokikaede.hatenablog.com/entry/2016/07/27/164629