LoginSignup
4
5

More than 5 years have passed since last update.

今日のスケジュールを毎朝教えてほしい

Last updated at Posted at 2017-08-20
1 / 8

はじめに

最近予定を忘れやすい・・・

これじゃあいかんということで
きちんと管理することにした。

更に、毎朝その日のスケジュールを通知して
絶対に忘れないようにする。


さてどうする

予定は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 : '{通知する時の名前}'
  });
}

実行したら

こんな感じで予定が通知されました。

image.png

スマホにもSlackを入れているので
目を覚ましたらすぐにでも確認できる感じです。


最後に

GASもSlack連携も初めてだったので
色々やれてよかったです。

でも・・・全部終わったあとに
標準のSlack連携でもできるのかと調べてみたら
普通にできちゃいました💦

【参考記事】
https://get.slack.help/hc/ja/articles/206329808-Slack-%E3%81%A8-Google-%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%80%E3%83%BC%E3%82%92%E9%80%A3%E6%90%BA%E3%81%95%E3%81%9B%E3%82%8B

やりたかったことはこれで十分なので
今回の記事は「はじめてのGAS」程度で見てださい (^▽^;)

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5