【GAS】Googleカレンダーの予定をSlack通知
やりたいこと
slackにGoogleカレンダーの予定を通知したい
朝8時に実行して大体1日の予定を通知する
Slackのメール転送を有効にする
slackのマイプロファイル→環境設定→メッセージ&メディアからSlackへのメールの転送を有効化
メールアドレスをコピーしておく。
Google Apps Scriptを作る
slackのEmailアドレスに転送先のメールアドレスを埋め込む
var destination_Email = '[SlackのEmailアドレス]';
function getCalenderEvents() {
var now = new Date();
var twoHoursFromNow = new Date(now.getTime() + (10 * 60 * 60 * 1000));
var events = CalendarApp.getDefaultCalendar().getEvents(now, twoHoursFromNow);
for (var i = 0; i < events.length; i++) {
var title = events[i].getTitle();
var startTime = events[i].getStartTime();
var endTime = events[i].getEndTime();
var duration = (endTime - startTime) / (1000*60) / (60);
var detail = events[i].getDescription();
var location = events[i].getLocation();
startTime = formatDate(startTime, 'JST');
endTime = formatDate(endTime, 'JST');
sendSlackfromGmail(title, startTime, endTime, duration, detail, location);
}//for (var i = 0; i < events.length; i++) {
}//function getCalenderEvents() {
function sendSlackfromGmail(title, startTime, endTime, duration, detail, location) {
var body = '開始時間:' + startTime + '\n' + '終了時間:' + endTime + '\n' + '会議時間:' + duration + '\n' + '詳細:' + detail + '\n' + '場所:' + location
GmailApp.sendEmail(destination_Email, title, body);
}//function sendSlackfromGmail() {
function formatDate(date, timeZone, format) {
if (date === '') {
return ''
} else {
var format = 'yyy/MM/dd HH:mm';
var retval = Utilities.formatDate(date, timeZone, format);
return retval;
}
}//function formatDate(date, timeZone, format) {
所感
誰かと共有する必要のない情報なら個人宛に転送するのが良いと思いました。
また、アプリ作成が要らないので簡単に導入できます。
Author And Source
この問題について(【GAS】Googleカレンダーの予定をSlack通知), 我々は、より多くの情報をここで見つけました https://qiita.com/ranmatsu/items/59ad844bf43330a4dad9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .