【GAS】add****Reminderメソッドを完全マスター

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
icon_for_CalendarApp_ add----Reminder

カレンダーイベントにリマインダーを追加するメソッド— add****Reminder()

今回のメソッドは、プログラムを使ってカレンダーイベント(予定)にリマインダーを追加する3つのメソッドを紹介します。リマインダーの追加にはEメールリマインダー、ポップアップリマインダー、そしてSMSリマインダーがあります。それぞれ、addEmailReminder()、addPopupReminder()、addSmsReminder()を使うことでリマインダーをプログラム的に追加することができます。このページでは、それらのリマインダー追加も合わせて説明を行います。

それでは、早速説明を始めます。3つのメソッドはリマインドの受け取り方が違うだけで、プログラムの使用方法は全く同じになります。

    1. addEmailReminder(minutesBefore)
      1. Gmailアドレス宛にEメールが送られてきます。
    2. addPopupReminder(minutesBefore)
      1. デスクトップの通知を許可していれば通知が送られてきます。
    3. addSmsReminder(minutesBefore)
      1. 設定した電話番号宛にSMSで通知が送られてきます。

 

『 引数に入れる値 』

    • minutesBefore(数値) — 数値で指定した分数前にリマインダーを設定(5〜40320までの数値を指定できます)

すでに5つのリマインダーが設定されている場合や指定することができない範囲の数値を指定した場合はエラーになります。返り値はそのままのイベントオブジェクトが返されるので、そのままメソッドチェーンでさらに他のメソッドをしていすることもできます。

リマインダー設定した時間が過ぎても自動的にはリマインダーは削除がされませんので、たくさんのリマインダーを設定したい場合はどこかのタイミングで削除しながら使用しましょう。

SMSリマインダーについては、2019年1月7日にGSuiteでのSMSリマインダーが終了したことに伴い使えなくなっているかもしれません。コードはエラーになりませんが、リマインダーは現状送られてこないと思われます。今後廃止がされる可能性があります。(執筆時点)

addEmailReminder(minutesBefore)

サンプルコード1
//Eメールリマインダーを追加するコード
function sampleCode1() {
  var calendar = CalendarApp.getDefaultCalendar();
  var date = new Date(); 
  var events = calendar.getEventsForDay(date);
  var minutesBefore = 5; //リマインダーを指定したい分数を5〜40320の間で指定(最短5分前から最長4週間前を指定可能)
  for (var i in events) {
    events[i].addEmailReminder(minutesBefore);
    /*イベントIDで指定するときには下記のコード
      var eventId = events[i].getId();
      var event = calendar.getEventById(eventId);
      event.addEmailReminder(minutesBefore);
    */
  }
}

『 変数の説明 』

calendar = デフォルトカレンダーを取得
date = プログラム実行日を代入
events = プログラム実行日に作成済みのイベントを取得
minutesBefore = リマインダーを設定する分数を指定

addPopupReminder(minutesBefore)

サンプルコード2
//ポップアップリマインダーを追加するコード
function sampleCode2() {
  var calendar = CalendarApp.getDefaultCalendar();
  var date = new Date(); 
  var events = calendar.getEventsForDay(date);
  var minutesBefore = 5; //リマインダーを指定したい分数を5〜40320の間で指定(最短5分前から最長4週間前を指定可能)
  for (var i in events) {
    events[i].addPopupReminder(minutesBefore);
    /*イベントIDで指定するときには下記のコード
      var eventId = events[i].getId();
      var event = calendar.getEventById(eventId);
      event.addPopupReminder(minutesBefore);
    */
  }
}

addSmsReminder(minutesBefore)

サンプルコード3
//SMSリマインダーを追加するためのコード(2019年12月現在通知送られてこず)
function sampleCode3() {
  var calendar = CalendarApp.getDefaultCalendar();
  var date = new Date(); 
  var events = calendar.getEventsForDay(date);
  var minutesBefore = 49; //リマインダーを指定したい分数を5〜40320の間で指定(最短5分前から最長4週間前を指定可能)
  for (var i in events) {
    events[i].addSmsReminder(minutesBefore);
    /*イベントIDで指定するときには下記のコード
      var eventId = events[i].getId();
      var event = calendar.getEventById(eventId);
      event.addSmsReminder(minutesBefore);
    */
  }
}

スクリプトができたら▶ボタンでプログラムを実行してみましょう。プログラムが終了すれば実行した日にデフォルトカレンダーに作成済みの予定にリマインダーが追加されます。追加されたリマインダーを確認する方法は予定をクリックして詳細を確認してみてください。

まとめ

今回はプログラム的に予定にリマインダー追加する3種類のメソッドを紹介しました。分数の設定範囲やリマインダーの上限数があることに留意して使ってみてください。

SNSでもご購読できます。

コメントを残す

*