はじめに
Googleカレンダーを複数使い分けている場合に、1つのカレンダーへ予定をマージしたいという需要って結構あると思います。検索してもあまりドンピシャなものが無かったので、GoogleAppsScriptで作ってみました。
GitHub
ソースは GitHub で公開しています。
Google Calendar Marger
画面サンプル


使い方
導入方法や使い方の詳細は、GitHubのREADMEをご参照ください。
詰まった点とか、工夫とか
- イベントの識別や更新の検出に、Googleカレンダーイベントのカスタムタグを使用しています
- GASでページを返す、返したページからGASの関数を呼ぶ
- モバイル向けのmetaタグ(viewport)が効かない点に対する対処
- 外部ライブラリ(Moment.js)を導入する方法
2016/11/27追記 下記にまとめました。
GoogleAppsScript で SinglePageApplication を作るTips
残課題(アイデア募集中)
繰り返しイベントのEventIDは、繰り返す全イベントで共通になるようで、そのまま使うと各イベントを識別できません。今は共通のEventID+日付で代替していますが、応急処置感が否めないので、何か良いアイデアを募集中です。
2016/11/27追記 Auto Merge を disable にすると、Calendar to merge も非活性になって、ワンショット実行もできなくなってしまうという致命的なバグがありました…時期を見て直します…