【GAS】Googleカレンダーから複数のカレンダーの予定をLINEに送信する方法

Googleカレンダー

LINEとの連携一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【GAS】Googleカレンダーから指定したカレンダーの予定をLINEに送信する方法
  • 指定したGoogleカレンダーの今日の予定がLINEに送信されます。
  • Googleカレンダーを開かなくても良いので便利です。
  • 今回は、とっても価値の高い方法をお伝えします。


    これを知ることであなたは、

    • GASのif内でOR条件を指定する方法がわかります。
    • 指定した複数のカレンダーの予定をLINEに送信する方法がわかります。

      なので、サクッとマスターして

      と答えてあげてください。

      前回は、カレンダーを指定しましたが、今回はさらに複数のカレンダーを
      指定します。

      動画はこちら

      【GAS基礎講座】Googleカレンダーから指定のカレンダーの予定のみLINEに送信する(Q&A)

      カレンダーの定義を増やして、カレンダーを比較している箇所に追加すればOKです。

      スクリプト

      複数のカレンダーを指定
      function ortest() {
      
      
        //   自分のカレンダーが4種(マイカレンダー)と、
        // 共有しているカレンダー(他のカレンダー)が2種あるのですが、
        // このうちマイカレンダー3つと他のカレンダー1つをLINEに通知したい場合は
        const CALENDER_NAME1 = "マイカレンダー1"  //取得するカレンダー名
        const CALENDER_NAME2 = "マイカレンダー2"  //取得するカレンダー名
        const CALENDER_NAME3 = "マイカレンダー3"  //取得するカレンダー名
        const CALENDER_NAME4 = "他のカレンダー"  //取得するカレンダー名
      
      
        let calendar_getName = "マイカレンダー4"  //カレンダーから取得したカレンダー名(calendar.getName())
      
      
        if ((calendar_getName == CALENDER_NAME1) ||
          (calendar_getName == CALENDER_NAME2) ||
          (calendar_getName == CALENDER_NAME3) ||
          (calendar_getName == CALENDER_NAME4)) {
      
      
          console.log("LINEに送信する")
        }
        else {
          console.log("LINEに送信しない")
      
      
        }
      
      
      }

       

      全体のスクリプト

       

      const LINE_NOTIFY_TOKEN = "*****あなたのトークン*****";
      const LINE_NOTIFY_API = "https://notify-api.line.me/api/notify";
      // const CALENDER_NAME = "new カレンダー1";   //取得するカレンダー名
      const CALENDER_NAME1 = "マイカレンダー1"  //取得するカレンダー名
      const CALENDER_NAME2 = "マイカレンダー2"  //取得するカレンダー名
      const CALENDER_NAME3 = "マイカレンダー3"  //取得するカレンダー名
      const CALENDER_NAME4 = "他のカレンダー"  //取得するカレンダー名
      
      
      function calendarToLine() {
        var calendars = CalendarApp.getAllCalendars();
        //  var text = "\n" + Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd') + "\n" ;
        var text = "\n" + Utilities.formatDate(new Date(), 'JST', 'M月d日') + "\n";
      
      
        for (i in calendars) {
          var calendar = calendars[i];
          var events = calendar.getEventsForDay(new Date());
      
      
          /* 
              //カレンダー名を取得する
              if( events.length > 0 ) {
                text += "■ " + calendar.getName() + "\n";
              }
            */
      
      
          if ((calendar.getName() == CALENDER_NAME1) ||
            (calendar.getName() == CALENDER_NAME2) ||
            (calendar.getName() == CALENDER_NAME3) ||
            (calendar.getName() == CALENDER_NAME4)) {
      
      
            //      text += "■ " + calendar.getName() + "\n";
      
      
      
            //カレンダーの内容を取得する
            for (j in events) {
              var event = events[j];
              var title = event.getTitle();
              var start = toTime(event.getStartTime());
              var end = toTime(event.getEndTime());
              text += start + ' - ' + end + " " + title + '\n';
            }
      
      
            if (events.length > 0) {
              text += "\n";
            }
          }
        }
      
      
        sendToLine(text);//LINEにデータを送信する
      }
      
      
      //LINEにデータを送信する
      //text:送信するデータ
      function sendToLine(text) {
        var token = LINE_NOTIFY_TOKEN;
        var options =
        {
          "method": "post",
          "payload": "message=" + text,
          "headers": { "Authorization": "Bearer " + token }
      
      
        };
        UrlFetchApp.fetch(LINE_NOTIFY_API, options);
      }
      
      
      //'HH:mm'に変換する
      function toTime(str) {
        return Utilities.formatDate(str, 'JST', 'HH:mm');
      }

       

       

       

       

       

       

      最後までご覧いただきありがとうございます。

      つぎはこちら

      【GAS】Googleカレンダーの予定を曜日付きでLINEに送信する方法
    • Googleカレンダーの今日の予定がLINEに送信されます。
    • Googleカレンダーを開かなくても良いので便利です。
    •  

       

      LINEとの連携一覧

      GAS応用の一覧
      Googleカレンダー関連

      コメント

      タイトルとURLをコピーしました