【Google Apps Script】 그 20 오늘의 예정을 Chatwork에 일괄 통지한다

이 기사는 Google Apps Script를 실례로 섞어서 기초부터 살짝 배우기 Advent Calendar 2017 20일째 기사입니다.

본 어드벤트 캘린더는 @rt_p의 개인 프로젝트이지만, 필자는 Ateam Brides Inc. Advent Calendar 2017에도 참가하고 있습니다. 그쪽에서도 출장판 기사를 쓰고 있으므로, 들여다 주시면 기쁩니다.

소개



어라? 오늘의 예정은 무엇이 있었나? 라고 할 때, 일일이 캘린더 열기의 수고군요.
그렇다면 자신의 캘린더에 등록되어있는 오늘의 일정을 아침 제일에 Chatwork에 알립니다.



더미 예정 등록



Google 캘린더에 약속이 등록되지 않은 경우 약속을 적절하게 등록해 둡시다.



GAS 파일 만들기



이번에는 스프레드시트를 사용할 필요가 없으므로 Google Apps Script 파일을 직접 만들 수 있습니다.
Google 드라이브 새로 만들기 → 기타에서 만들 수 있습니다.
찾을 수 없으면 + 앱을 추가로 검색하십시오.

아래 코드를 입력합시다.
승인 필요 메시지가 나왔을 때의 조치를 모르는 경우
어드벤트 캘린더 첫날 Hello, world! 기사을 참조하십시오.

today_events.gs
function myFunction() {
  var events = CalendarApp.getDefaultCalendar().getEventsForDay(new Date());
  var body = '';
  for (var i in events) {
    var event = events[i];
    body += '' + event.getStartTime() + '' + event.getEndTime() + '' + event.getTitle() + "\r\n";
  }
  if (body) {
    var subject = '本日の予定';
    postToChatworkMessage(subject, body);
  }
}

// chatworkにメッセージ投稿
function postToChatworkMessage(subject, body) {
  var roomId = 'YOUR_ROOM_ID'; // ここに投稿したい部屋のIDを入力
  var token = 'YOUR_TOKEN'; // ここにトークンを入力
  var body  = '[info][title]' + subject + '[/title]' + body + '[/info]';
  var payload = {
    'body': body
  }
  var headers = {
    'X-ChatWorkToken': token
  }
  var options = {
    'method' : 'POST',
    'payload' : payload,
    'headers' : headers
  }
  var url = 'https://api.chatwork.com/v2/rooms/' + roomId + '/messages';
  UrlFetchApp.fetch(url, options);
}

getDefaultCalendar()


자신의 기본 캘린더를 가져옵니다.

getEventsForDay(date)


지정한 날짜의 약속을 모두 가져옵니다.
이번에는 오늘의 날짜를 건네주었으므로, 오늘의 모든 예정이 돌아온 것입니다.
  var roomId = 'YOUR_ROOM_ID'; // ここに投稿したい部屋のIDを入力
  var token = 'YOUR_TOKEN'; // ここにトークンを入力

roomId는 방의 ID입니다. URL의 #!ridXXXXX가 되고 있는, rid 이후의 수치입니다.
Chatwork 토큰을 얻는 방법은 16일째 기사을 참조하십시오.
myFunction() 런타임에 Chatwork에 알림이 있으면 성공입니다.



정기 실행 설정



스크립트 편집기의 스톱워치 마크를 클릭합니다.
일 타이머로 아침 8시대에 통지하도록 하겠습니까?



이제 매일 아침 8시대로 자동 통지 되었을 것입니다.

결론



상당히 간단한 순서로 예정 통지 시스템을 만들 수 있었습니다.
조직 내에서 다른 사용자의 약속을 알리려면 다음 기능을 사용해야합니다. 활용하십시오.

subscribeToCalendar(id)


내일



【Google Apps Script】 그 21 지정 시간에 메시지를 자동 투고하는 Chatwork bot를 만든다
됩니다.
매일 10시에 특정 메시지를 Chatwork에 알리고 싶다든가 있군요. 그쪽을 GAS로 실현합니다.

이전 기사
【Google Apps Script】 그 19 Chatwork Webhook을 사용해 스프레드시트에 발언을 모은다
다음글
【Google Apps Script】 그 21 지정 시간에 메시지를 자동 투고하는 Chatwork bot를 만든다

좋은 웹페이지 즐겨찾기