LINE BOT에 Google 캘린더 일정 알림

3379 단어 GoogleAppsScript

소개



전제


  • 라인봇 계정
    htps : // 후 rst-이런 ct. jp/bぉg/あrちcぇ/ぃねぼt/
  • Google 캘린더에 약속
  • 통지를 보내고 싶은 라인에 친구 등록을 해 둔다

  • 거친 흐름


  • 라인 봇에서 액세스 토큰 얻기
  • 코드 해설
  • 마지막으로

  • 목표



    매일 설정한 시간에 오늘의 일정을 알려줍니다 ☕️

    1. 만든 계정으로 이동하여 액세스 토큰을 복사합니다.





    2. 코드 해설



    index.gs
    var access_token = "ACCESS_TOKEN" //<= LINEのアクセストークン
    
    function getCalendar() {
      var startDate = new Date();
      const CALENDAR_IDS = ["********@gmail.com"]; //<= Googleのメールアドレス(複数可能)
      let message = []
    
      CALENDAR_IDS.forEach(function(CALENDAR_ID){
        var myCalendar = CalendarApp.getCalendarById(CALENDAR_ID)
        var myEvents = myCalendar.getEventsForDay(startDate)
    
        myEvents.forEach(function(event){
          event.getTitle()
          event.getDescription()
          var eventStartTime = event.getStartTime();
          eventStartTime = Utilities.formatDate(eventStartTime, 'JST', 'HH:mm');
          if (event.getTitle()) {
           message.push(eventStartTime + ':' + event.getTitle() + '\n\n')
          }
          if (event.getDescription()) {
           message.push(event.getDescription() + '\n\n\n')
          }
        });
      })  
      message = message.join('');
      return push(message);
    }
    
    
    //メッセージを送信する関数を作成
    function push(message) {
      var url = "https://api.line.me/v2/bot/message/push";
      var headers = {
        "Content-Type" : "application/json; charset=UTF-8",
        'Authorization': 'Bearer ' + access_token,
      };
    
      var postData = {
        "to" : to,
        "messages" : [
          {
            'type' : 'text',
            'text' : message
          }
        ]
      };
    
      var options = {
        "method" : "post",
        "headers" : headers,
        "payload" : JSON.stringify(postData)
      };
    
      return UrlFetchApp.fetch(url, options);
    }
    }
    
  • 1 행, LINE 액세스 토큰 설정
  • var access_token = "ACCESS_TOKEN" //<= LINEのアクセストークン
    
  • 두 번째 줄, 캘린더 정보를 얻고 싶은 Google 계정 이메일 주소 설정
  • const CALENDAR_IDS = ["********@gmail.com"]; //<= Googleのメールアドレス(複数可能)
    
  • 3 행 ~ 25 행

  • 이번에는 여러 계정 설정을 상정하고 있으므로 foreach에서 루프 처리를하고 있습니다.
  • 25행 이후로, LINE에 메세지를 송신하기 위한 파라미터를 설정하고 있습니다.

  • 3. 마지막으로



    어때? 잘 보낼 수 있었습니까? ☕️

    정기 실행, 트리거 설정 방법
    htps : //가 되어-t. 이 m/가 s-chime d-d ri ゔ ぇ-t rig r/

    메시지 유형을 변경하려면,
    ぇぺぺrs. 네. 비 · 자 / 레후 렌세 / 메사 긴 g 아피 / # 리 ch 메누

    캘린더📆 취득 내용 변경하고 싶은 경우,
    htps : //에서 ゔぇぺぺrs. 오, ぇ. 코 m / 카렌 r / v3 / 레후 렌세 / 에우 ts # 레소 r

    좋은 웹페이지 즐겨찾기