Googleカレンダーの予定リマインダーをGASで設定する方法(メールとデスクトップ通知)
Googleカレンダーの予定を忘れないためにリマインダー通知の機能があります。
このリマインダー(メール通知とデスクトップ通知)をGoogle Apps Script(GAS)で設定する方法を解説します。
Googleカレンダーのリマインダー通知機能
Googleカレンダーで予定を作成すると、予定の設定内容に「通知」の項目が用意されています。
この通知はスケジュール管理としてGoogleカレンダーでは必須の機能です。
通知設定で追加したタイミング(予定の30分前)などにお知らせしてくれます。
パソコンで作業していると、時間が過ぎているのを忘れてしまいがちなので、通知によるリマインダーで予定を忘れるのを防止できます。
リマインダーはメールとポップアップ通知の2種類
Googleカレンダーの予定のリマインダー設定には2種類用意されています。
- 通知(デスクトップ通知)
- メール
デフォルトのリマインド設定である「通知」では、端末などにプッシュ通知という形で表示されます。
2つ目のメールは、利用しているGoogleアカウントのメールアドレス宛にメールが送付されます。
なお、このGoogleカレンダーの予定リマインダー機能もGoogle Apps Scriptで設定が可能です。
GASで通知リマインダーを設定する2つのメソッド
Google Apps Script(GAS)でGoogleカレンダーの予定に設定する通知リマインダーは、通知・メールで2つのメソッドがあります。
Event.addEmailReminder(’何分前通知’);
Event.addPopupReminder(’何分前通知’);
Googleカレンダーから取得した予定(イベントオブジェクト)に対し、上記のメソッドを実行すると通知設定が追加されます。
どちらも引数は「○分前に通知する」という形で○に入る数字を指定します。
例えば、20分前にデスクトップ通知を受けたい場合は「Event.addPopupReminder(20)」を実行します。
なお、引数に指定できる数字(分)は5~40320の間から選択する必要があります。
SMS通知リマインダーの設定メソッドは使用不可
Google Apps Script(GAS)のリファレンスやコードの補完機能では、もう1つのリマインダー追加メソッド「addSmsReminder」が確認できます。
addSmsReminderは、前述した通知リマインダーと同様の機能ですが、メールやポップアップではなく、SMS(電話番号宛のショートメッセージ)で通知が来るものです。
しかし、addSmsReminderメソッドを実行してもSMSによる通知リマインダーは予定には設定されません。
スマホ版のGoogleカレンダーアプリでも予定の通知設定ができますが、SMSによる通知は設定不可能です。
そのため、GASでGoogleカレンダーの予定にリマインダーを追加するメソッドは2種類で、addSmsReminderメソッドは設定不可と覚えておく必要があります。
GASでメール+ポップアップ通知を設定するサンプルコード
Google Apps Script(GAS)を使って、Googleカレンダーの予定にメールとデスクトップ通知を追加するスクリプトを解説します。
今回、以下の通知が設定されていない「リマインダーテスト」に対して、GASでリマインダー追加を実行します。
予定にリマインダー設定を追加するGASのサンプルコードを用意しました。
function setEventReminder() {
//アクセス可能なカレンダーのIDを指定して、Googleカレンダーを取得する
let myCalendar = CalendarApp.getCalendarById('**********@gmail.com');
//Googleカレンダーから取得するイベントの開始日(今日)を設定する
let startDate = new Date();
//Googleカレンダーから取得するイベントの終了日(1週間後)を設定する
let endDate = new Date();
endDate.setDate(startDate.getDate() + 7);
//開始日~終了日に存在するGoogleカレンダーのイベントを取得する
let myEvent = myCalendar.getEvents(startDate, endDate);
//取得した1つ目のイベントにメールでのリマインダーを設定する(60分前)
myEvent[0].addEmailReminder(60);
//取得した1つ目のイベントにポップアップでのリマインダーを設定する(20分前)
myEvent[0].addPopupReminder(20);
}
サンプルコードの大部分は、GoogleカレンダーのIDからカレンダーを読み込み、指定期間のイベント予定を取得しています(1~10行)。
Googleカレンダーの予定にメール+通知のリマインダー追加しているのは、12行目と14行目です。
リマインダー追加のGASサンプルコードを実行すると、先程紹介した「リマインダーテスト」の予定に通知とメールが追加されているのが確認できます。
このようにaddEmailReminderとaddPopupReminderのGASメソッドを使うことでGoogleカレンダーの予定に通知を追加可能です。
SMSリマインダー「addSmsReminder」実行結果
なお、前述したGoogle Apps Scriptのサジェストで表示されるもう一つリマインダー追加メソッド「addSmsReminder」もテストしてみます。
さきほどのGASサンプルコードとほとんど同じ形でリマインダー追加のメソッドを変更し、リマインダーが設定されているかgetSmsReminders()メソッドで確認します。
しかし、addSmsReminderを実行してみても、console.logの出力結果は空表示になっています。
念のため、メールアドレス以外に電話番号も登録したGoogleアカウントで実行してみましたが、同様の結果でした。
まとめ・終わりに
今回、Google Apps ScriptでGoogleカレンダーの予定に通知リマインダーを追加設定する方法を紹介しました。
Googleカレンダーの予定にはメールによる通知とデスクトップ通知の2種類のリマインダーが設定できますが、GASでもメソッドを実行するだけで設定可能です。
なお、GAS上はSMSによる通知のメソッドも表示されますが、こちらは実行しても設定できないようでした。
GASのスクリプトをうまく活用すれば、予定内容に応じて、通知の時間を変更することもできるので便利です。
ディスカッション
コメント一覧
まだ、コメントがありません