วันจันทร์ที่ 16 กันยายน พ.ศ. 2567

ระบบแจ้งเตือน LINE Notify โดยเอา token notify ใส่ใน description google calendar แล้วสั่งแจ้งเตือนแยกรายกิจกรรม แยกบุคคลได้ตาม token

 

 


ที่มา : script.google.com

function getTodaysEvents() {
  // ดึง Calendar หลักของผู้ใช้
  var calendar = CalendarApp.getCalendarById('xxxxxxxxxxxxxxxxxxxxx');

  // กำหนดวันที่ปัจจุบัน
  var today = new Date();
  today.setHours(0, 0, 0, 0); // ตั้งเวลาเป็น 00:00:00 ของวันนี้

  // กำหนดวันสิ้นสุดเป็น 23:59:59 ของวันนี้
  var endOfToday = new Date(today);
  endOfToday.setHours(23, 59, 59, 999);

  // ดึงเหตุการณ์ที่เกิดขึ้นระหว่างวันนี้
  var events = calendar.getEvents(today, endOfToday);

  // แสดงรายละเอียดของแต่ละเหตุการณ์
  if (events.length > 0) {
    events.forEach(function (event) {
      var title = event.getTitle()
      var timeStart = event.getStartTime()
      var timeEnd = event.getEndTime()
      var date = Utilities.formatDate(today, "GMT+7", "EEEE dd MMMM yyyy")
      var bbkTimestart = Utilities.formatDate(timeStart, "GMT+7", "HH.mm น.")
      var bbkTimeEnd = Utilities.formatDate(timeEnd, "GMT+7", "HH.mm น.")
      var msg =
        "\n" + date +
        "\nกิจกรรม " + title +
        "\nเริ่มเวลา " + bbkTimestart +
        "\nสิ้นสุดเวลา " + bbkTimeEnd

      var token = event.getDescription().split(':')[1]
      sendLineNotify(msg, token)
    });
  } else {
    Logger.log("ไม่มีเหตุการณ์ในวันนี้");
  }
}

function sendLineNotify(message, token) {
  var url = 'https://notify-api.line.me/api/notify';
  var payload = {
    'message': message
  };

  var options = {
    'method': 'post',
    'headers': {
      'Authorization': 'Bearer ' + token,
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    'payload': payload,
    'muteHttpExceptions': true
  };

  try {
    UrlFetchApp.fetch(url, options);
  } catch (e) {
    Logger.log('Error: ' + e.message);
  }
}

ระบบแจ้งเตือน LINE Notify โดยเอา token notify ใส่ใน description google calendar แล้วสั่งแจ้งเตือนแยกรายกิจกรรม แยกบุคคลได้ตาม token

    ที่มา :  script.google.com function getTodaysEvents () {   // ดึง Calendar หลักของผู้ใช้   var calendar = CalendarApp . getCalendarBy...