【GAS】Google 캘린더의 예정을 Slack 통지
하고 싶은 일
슬랙에 Google 캘린더 일정을 알리고 싶습니다.
아침 8시에 실행하여 대략 1일의 예정을 통지한다
슬랙 메일 전송 사용
slack의 내 프로필 → 환경 설정 → 메시지 및 미디어에서 Slack으로 메일 전송 사용
이메일 주소를 복사합니다.
Google Apps Script 만들기
slack의 이메일 주소에 전달할 이메일 주소 포함
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) {
소감
누군가와 공유할 필요가 없는 정보라면 개인에게 전송하는 것이 좋다고 생각했습니다.
또, 앱 작성이 필요 없기 때문에 간단하게 도입할 수 있습니다.
Reference
이 문제에 관하여(【GAS】Google 캘린더의 예정을 Slack 통지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ranmatsu/items/59ad844bf43330a4dad9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
slack의 내 프로필 → 환경 설정 → 메시지 및 미디어에서 Slack으로 메일 전송 사용
이메일 주소를 복사합니다.
Google Apps Script 만들기
slack의 이메일 주소에 전달할 이메일 주소 포함
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) {
소감
누군가와 공유할 필요가 없는 정보라면 개인에게 전송하는 것이 좋다고 생각했습니다.
또, 앱 작성이 필요 없기 때문에 간단하게 도입할 수 있습니다.
Reference
이 문제에 관하여(【GAS】Google 캘린더의 예정을 Slack 통지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ranmatsu/items/59ad844bf43330a4dad9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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) {
누군가와 공유할 필요가 없는 정보라면 개인에게 전송하는 것이 좋다고 생각했습니다.
또, 앱 작성이 필요 없기 때문에 간단하게 도입할 수 있습니다.
Reference
이 문제에 관하여(【GAS】Google 캘린더의 예정을 Slack 통지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ranmatsu/items/59ad844bf43330a4dad9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)