##◆解決したい課題
GAS カレンダー情報をSlackで通知させたい
##◆コード(Google App Script)
function getCalendar(){ const CALENDAR_ID = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; var myCalendar = CalendarApp.getCalendarById(CALENDAR_ID); var startDate = new Date(); var myEvents = myCalendar.getEventsForDay(startDate); myEvents.forEach(function(myEvent){ var title = myEvent.getTitle(); if(title.indexOf('休')!=-1){ Logger.log(title); } }); } function notifySlack() { var text = '【本日、以下のメンバがお休み】'; var payload = { // 'username':'お知らせ', 'text':text, 'channel':'gas-test' }; var options = { 'method':'post', 'contentType':'application/json', 'payload':JSON.stringify(payload) }; var url = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx' UrlFetchApp.fetch(url,options); }
◆現状
関数getCalendarを指定して実行すると、以下のエラーが表示される。
TypeError: Cannot read property 'getEventsForDay' of null
関数notifySlackを指定して実行すると、Slackに以下の文字が出力される。
【本日、以下のメンバがお休み】
◆想定結果
関数notifySlackを指定して実行すると、以下の出力がされる想定。
【本日、以下のメンバがお休み】 xxxさんお休み
関数notifySlackの中に関数getCalendarで取得したtitleが組み込まれていないため、「xxxさんお休み」という文字が記載されないのかなと思っております。しかし、どうすればいいのか分かりません(>_<)
もし、何かわかりましたらご教示願います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/31 16:00 編集
2020/03/31 16:51
2020/04/01 01:52