はじめに
最近予定を忘れやすい・・・
これじゃあいかんということで
きちんと管理することにした。
更に、毎朝その日のスケジュールを通知して
絶対に忘れないようにする。
さてどうする
予定はGoogleカレンダーを使うことにした。
Googleカレンダー自体に通知機能はあるが
その日の予定をまとめて通知してくれる機能はあるのか・・・??
良く分からなかったので別の方法を検討。
GASでSlackに連携して通知することにした。
流れ
予定はGoogleカレンダーで自分で管理。
GASでカレンダーを読み取って
全部まとめてからSlackに通知。
それを毎朝AM07:00にセットしておけば
必ず通知を見るので忘れる心配なし!!
(※今回は「カレンダーに入れ忘れる」という
残念な忘れ方については対象外とした。)
早速やってみよう
GASの基本的な操作とスケジューリングは
こちらのページを参考にした。
あとはscriptでカレンダーから取って
まとめてSlackに投げる部分を作ればOK。
実際のコード
フォーマットや書き方はダサいが
とりあえず実用性重視ということで・・・
function mySchedule() {
var calendar = CalendarApp.getCalendarById('{GoogleカレンダーID}');
var schedule = calendar.getEventsForDay(new Date());
var message = '@{Slackで付けたいメンション}\n本日の予定:' + Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd') + '\n';
for(var i=0; i<schedule.length; i++) {
var title = schedule[i].getTitle();
var start = Utilities.formatDate(schedule[i].getStartTime(), 'JST', 'HH:mm');
var end = Utilities.formatDate(schedule[i].getEndTime(), 'JST', 'HH:mm');
message = message + start + ' - ' + end + ' ' + title + '\n';
}
var slackApp = SlackApp.create('{SlackのToken}');
slackApp.postMessage('#{Slackで通知するチャネル}', message, {
username : '{通知する時の名前}'
});
}
実行したら
こんな感じで予定が通知されました。
スマホにもSlackを入れているので
目を覚ましたらすぐにでも確認できる感じです。
最後に
GASもSlack連携も初めてだったので
色々やれてよかったです。
でも・・・全部終わったあとに
標準のSlack連携でもできるのかと調べてみたら
普通にできちゃいました💦
やりたかったことはこれで十分なので
今回の記事は「はじめてのGAS」程度で見てださい (^▽^;)