twitter youtube tumblr flickr rss mail

category: computer

Slack へ Google カレンダーの明日の予定を通知2


本記事のタイトルとURL をコピーする

以前 Slack へ Google カレンダーの明日の予定を通知する方法について書いた。

Google カレンダーの予定を前日に Slack へ通知 – with a Christian Wife
https://blog.withachristianwife.com/2020/04/22/notifying-google-calendar-shedule-to-slack/

しかしである。この方法だと挙動がおかしい。一度 Google カレンダーに登録したあと削除した予定が通知されたり、一部の予定が通知されなかったりする。これは使えない。

とりあえずアンインストールをする。

(1)ブラウザの Slack のページにもしくは Mac の Slack アプリで、「左上のワークスペース名>Settings & administration>Manage apps」をクリック。

(2)「Google Calendar for Team Events」をクリック。

(3)チャンネル名横のゴミ箱アイコンで削除する。

***

当日の予定に関してはすでに GAS を使った Slack への通知を使っている。以下のページに従って実装した。

Slack Bot:毎朝Googleカレンダーの予定を通知してくる秘書ねこBotの作り方 | デザインメモ 2.0
https://designmemo.jp/creative/bot-googlecalendar-slack.html

次の日の予定に関しては以下のページの「Googleカレンダーの明日の予定をSlackに通知」に従えばいい。

Slackに天気や予定を毎朝通知する Google Apps Script – Qiita
https://qiita.com/maatumoDev/items/f9497d5b37757db1b276

ただし、次の日に予定がない場合にスクリプトが実行されると、Google からスクリプトの実行に失敗したというメールが来る。エラー内容は missing_text_or_fallback_or_attachments などと書かれており、要するに出力データがないという意味だ。

これを回避するにはどうすればいいか。以下のページに倣い、events.length が0以上とそれ以外で条件分岐をすればいい。

Google Apps Scriptを使ってみよう! – サテライト原口社長のスクリプト指南(6) 今日の予定をカレンダーからメールで自動送信 | マイナビニュース
https://news.mynavi.jp/article/apps_script-6/

すなわち、以下のようなスクリプトに変更した(一部私の使いやすいように変更している)。


書籍