週末は死なない

主にゲーム日記を書き殴ってみる。ネタバレありまくり。このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。

GoogleCalendarの更新のLine通知を共有カレンダー更新でも通知するように直したメモ

GoogleCalendarの更新を通知するGASの改良

以前作ってみたGAS使ってGoogleCalendar更新を通知するスクリプトで、更新を検知するIDがカレンダーの所有者だけで、共有してるカレンダーの更新とかを検知できていなかったので改良してみた。

更新をチェックするカレンダーIDを追加

更新チェックのロジックを変えてみた。

      // カレンダー配列でループしてみる
      for (const calendar_title in CALENDAR_DICT) {
          console.log(calendar_title);
          const calendar_id = CALENDAR_DICT[calendar_title];

          getUpdatedEvents(calendar_id).forEach((e) => {
            let message;        // メッセージ
            ・・・・・ 省略 ・・・・・
          }
        }

変えたところ

以前は実行時に引数でイベントを渡していて、そこからカレンダーIDを取得していた。でもそれだと自分のIDカレンダーの更新しか検知できなかったので、共有されているカレンダーIDも追加して、そちらも更新をチェックするように修正してみた。

自分のカレンダーが更新されたときに他のカレンダーもチェックするようになっちゃった

こんな風に修正してみたら、自分のカレンダーが更新されたときのみ他のカレンダーの更新をチェックするようになった。でもこれだとあくまで自分のイベントを更新しないとダメなので、スクリプトの実行タイミングを変える。

トリガーの変更

トリガーを「時間主導型」、「30分おき」に変更。これで30分毎にスクリプトが実行されて、みたいカレンダーの更新をチェックしてくれるようになった。