Google 캘린더 정보를 LINE 그룹에 자동 전달

유학+자숙생활에서 4가랑이를 밟고 싶어질 정도로 뚱뚱해, 조금 전부터 스포츠 트레이너의 친구에게 트레이닝・식사와 체중의 관리를 부탁하고 있습니다.

그렇지만, 쇼츄 보고를 잊고, 그래서 화내고(자신이 나쁜 케드) LINEbot를 사용해 이 작업을 자동화시키고 싶습니다.



기능 개요



・Google 캘린더에 기록한 데이터를 LINE으로 보낸다(←이번은 여기를 만듭니다)
· 특정 시간까지 기록되지 않으면 리마인드
・매주 일요일에 월/주의 경위(그래프 화상)를 보낸다
・전날에 비해 체중이 줄어들면 엄청 칭찬해 준다

이번 목적



· GAS를 터치, GAS에서 GitHub를 사용해보기
· API를 사용해보기

환경 만들기



1. 코드 관리 도입



이번 코드 관리에 GitHub를 사용하고 싶기 때문에 Github와 GAS를 연계합니다.
참고 : htps : // 이 m / 정확히 s 쿠아 sh / ms / 1 엣 b722272 a 114c62d79

확장 프로그램 Google Apps Script GitHub Assistant 설치
htps // ch 로메. 오, ぇ. 코 m / ぇ bs 잡아라 / 싶다 l / 굿 g ぇ 아 ps p s sc pt t e b / lfjcg cmk m j 에이 hflfh

이제 원격 리포지토리에 대해 작업할 수 있습니다.


2. 체중 기록용 캘린더 작성



체중 기록을 위한 새 캘린더를 만들고 캘린더의 ID를 가져옵니다.
대상 캘린더 세부정보에서 [설정 및 공유] > [캘린더 설정] > 캘린더 ID 복사


Google 캘린더 일정을 LINE에 보내기



참고 : htps : // m / 케이 / ms / 8c837444d 또는 b6c0 4629

1. API 도입



LINE Notify에 로그인하여 협력을 수행합니다.
여기에서 연결할 그룹을 지정할 수 있습니다.

2. 코드



Google 캘린더 Linebot 협력
function todayWeight() {
  var accessToken = PropertiesService.getScriptProperties().getProperty('LINE_TOKEN');
  var cal = CalendarApp.getCalendarById('[email protected]');  
  var today = Utilities.formatDate(new Date(), 'JST', 'M/d');
  var weightData = getweight(cal);

  //LINEbotで通知
  var sendToLineMessage =
   {
     'method'  : 'post'
    ,'payload' : 'message=' + '\n' + today + 'の体重報告:' + weightData
    ,'headers' : {'Authorization' : 'Bearer '+ accessToken}
    ,muteHttpExceptions:true
   };
  UrlFetchApp.fetch('https://notify-api.line.me/api/notify', sendToLineMessage);
}

/**
* カレンダーからイベントを取得し体重データを返す
*/
function getweight(prmCal) {
  var strWeight = '';
  var arrWeight = prmCal.getEventsForDay(new Date());
  if ( _isNull(arrWeight) ) strWeight = '本日の記録がありません。';
     for (var i=0; i<arrWeight.length; i++) {
           strWeight += arrWeight[i].getTitle();
     }
  return strWeight;
}

/**
* NULL判定
*/
function _isNull(prm) {
  if ( prm=='' || prm===null || prm===undefined ) {
    return true;
  } else {
    return false;
  }
}

3. 트리거 설정



이번은 매일 12시~1시에 트레이너와의 그룹에 투고되도록 합니다.


실제로 움직여보세요



Google 캘린더에 체중을 등록하고,


실행해 보니, 무사히 LINE에 보내 주었습니다.


요약



・LINE Notify는 편리! 다양한 것에 사용할 수 있습니다.
· 이런 시스템을 만들고 싶은 나는 원래 다이어트에 적합하지 않다.

아직 최저한의 기능만 어디에서부터 기능 추가해 격렬하게 최강 다이어트 툴 개발한다~(크림 파라멘과 포테치 먹고 싶은 맥주 마시고 싶다)

좋은 웹페이지 즐겨찾기