LoginSignup
3
2

More than 5 years have passed since last update.

複数のGoogleカレンダーをマージする

Last updated at Posted at 2016-11-21

はじめに

Googleカレンダーを複数使い分けている場合に、1つのカレンダーへ予定をマージしたいという需要って結構あると思います。検索してもあまりドンピシャなものが無かったので、GoogleAppsScriptで作ってみました。

GitHub

ソースは GitHub で公開しています。
Google Calendar Marger

画面サンプル

スクリーンショット 2016-11-27 8.44.16.png
期間を指定して、単発でマージを実施したり、マージ先のカレンダーのイベントを削除したりできます。

スクリーンショット 2016-11-27 8.44.28.png
GASの時間ベーストリガーで、定期的にマージを実行させることができます。マージする期間やチェックのタイミングを設定します。

使い方

導入方法や使い方の詳細は、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 も非活性になって、ワンショット実行もできなくなってしまうという致命的なバグがありました…時期を見て直します…

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2