はじめに
Google Calendarには.ics形式のカレンダーをインポートして表示させる機能はありますが、残念ながらそのデータを変更したり、他のサービスに連携させることはできません。(元が外部データなので当たり前ですが…)
そのままでは、インポートしたデータを使ってIFTTTと連携したりすることが難しいです。そこで、その外部データを自分の予定として定期的に自動保存することで自由に通知したり変更したりできるようになりました。
(上がインポートした予定、下がそれを自分のカレンダーにコピーしたものです。編集・削除などができるようになっていることがわかります。)
やり方
Google Apps Scriptでこのことを可能にするツールを作ってくださっている方がいらっしゃいました!それを利用します。
- https://github.com/derekantrican/GAS-ICS-Sync へアクセス。
赤枠のリンク先にあるコードをコピーして利用します。
これ以降の説明は画像内の一つ下のリンクに掲載されているので簡単な説明に留めたいと思います。GASの画面が開くのでそこにある4つの .gsファイルを自分のGASプロジェクトにコピーしてきます。
Google の CalendarAPIが必要になったりする関係で、マニフェストファイルを開いて先ほどの4つの .gsファイルの他にある
appsscript.json
から内容をコピーしてきます。(タイムゾーンなどは変更した方がいい?)Code.gs
内にある変数を自分用に書き換えます。Code.gs
のinstall関数を一度実行して、権限の付与とトリガーの作成を行います。完成です!
終わりに
これで外部ツールなどで発行された .icsファイルで予定を読み込んで、予定の15分前になったらIFTTTで通知を飛ばすなんてことも可能になります!また夢が広がりますね。