DEV Community

Momomay
Momomay

Posted on

ทำให้ Google Calendar สามารถแจ้งเตือนผ่าน Line Notify ได้

  • เปิด Google Drives กดปุ่มเครื่องหมายบวก(+) >> เพิ่มเติม >> Image description
  • หน้า Apps Script จะเปิดขึ้นมาเปลี่ยนชื่อและลบโค้ดทิ้งไปก่อน Image description
  • เอาโค้ดไปแปะ
function myFunction() {
  var calenda = CalendarApp.getCalendarById("xxx");
  var token = "xxx"; // Line Token 
  var url = "https://notify-api.line.me/api/notify";

  var today = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate());
  var event = calenda.getEventsForDay(today);
  var msg = "";
  if (event.length === 0) {
    msg = "วันนี้ไม่มีกิจกรรม";
  }
  else {
    msg += "📣📣วันนี้มีทั้งหมด " + String(event.length) + " กิจกรรม ได้แก่\n\n";
    msg += sendMessage(event);
  }
  var jsonData = {
    message: msg
  }
  var options =
  {
    "method": "post",
    "contentType": "application/x-www-form-urlencoded",
    "payload": jsonData,
    "headers": { "Authorization": "Bearer " + token }
  };
  var res = UrlFetchApp.fetch(url, options);
}

function sendMessage(events) {
  var msg = "";
  events.forEach(function (event, index) {
    var title = event.getTitle();
    var start = event.getStartTime().getHours() + ":" + ("0" + event.getStartTime().getMinutes()).slice(-2);
    var end = event.getEndTime().getHours() + ":" + ("0" + event.getEndTime().getMinutes()).slice(-2);
    if (event.isAllDayEvent()) {
      msg += String(index + 1) + ") " + "เวลา : " + " ทั้งวัน" + "\n 🔥เรื่อง : " + title + "\n\n";
      return;
    }
    msg += String(index + 1) + ") " + "เวลา : " + start + " - " + end + " น." + "\n🔥เรื่อง : " + title + "\n\n";
  });
  return msg;
}
Enter fullscreen mode Exit fullscreen mode
  • เอาLine Notify Token และ Calendar ID มาใส่ Image description
  • ทดสอบการแจ้งเตือนโดยการกดปุ่ม (▶️เรียกใช้)

Image description

  • ตั้งค่าให้แจ้งเตือนแบบอัตโนมัติ🤖 เลือกเมนู"ทริกเกอร์" >> +เพิ่มทริกเกอร์ >> ปรับแต่งเวลาการแจ้งเตือนอัตโนมัติ >> กด"บันทึก" Image description

**ปัญหาที่พบ

  • หากทำการแจ้งเตือนเข้ากลุ่มไลน์ อย่าลืม Invite Line Notify เข้ากลุ่มด้วยไม่งั้นเวลารันจะมีปัญหาติดต่อ Token ไม่ได้
  • การแก้ปัญหาเวลาแจ้งเตือนไม่ตรง

Image description
Image description

Top comments (0)