การแจ้งเตือนเข้า LINE ทันทีที่มีข้อมูลใหม่ เป็นฟีเจอร์ที่ทำให้ระบบดูโปรและใช้งานจริง บทความนี้จะสอนส่งข้อความเข้า LINE ด้วย Google Apps Script โดยใช้ LINE Messaging API (วิธีที่ใช้ได้ในปัจจุบัน) ═══════════════════════════════════════ 📌 1. หมายเหตุสำคัญก่อนเริ่ม ═══════════════════════════════════════ เดิมหลายคนใช้ "LINE Notify" แต่บริการนี้ถูกปิดให้บริการแล้ว ปัจจุบันจึงต้องใช้ "LINE Messaging API" แทน ซึ่งฟรีเช่นกัน (ส่งข้อความ push ได้ตามโควต้าฟรีต่อเดือน) ═══════════════════════════════════════ 🔑 2. เตรียม LINE Messaging API ═══════════════════════════════════════ ขั้นตอน (ทำครั้งเดียว): 1. เข้า developers.line.biz แล้วล็อกอินด้วยบัญชี LINE 2. สร้าง Provider แล้วสร้าง Channel แบบ "Messaging API" 3. ในหน้า Channel จะได้ 2 สิ่งสำคัญ: • Channel access token (โทเคนสำหรับส่งข้อความ) • เพิ่มเพื่อน (add) บอทของเราด้วย QR code 4. หา "User ID" ของผู้รับ (ดูได้ในหน้า Channel > Your user ID) *** เก็บ Channel access token เป็นความลับ อย่าเปิดเผยต่อสาธารณะ *** ═══════════════════════════════════════ 💬 3. ส่งข้อความเข้า LINE (Push Message) ═══════════════════════════════════════ GAS ส่ง HTTP request ไปยัง LINE ด้วย UrlFetchApp
javascript
function sendLineMessage(text) {
  var token = "วาง_CHANNEL_ACCESS_TOKEN";
  var userId = "วาง_USER_ID_ของผู้รับ";

  var url = "https://api.line.me/v2/bot/message/push";

  var payload = {
    "to": userId,
    "messages": [{ "type": "text", "text": text }]
  };

  var options = {
    "method": "post",
    "headers": {
      "Content-Type": "application/json",
      "Authorization": "Bearer " + token
    },
    "payload": JSON.stringify(payload)
  };

  UrlFetchApp.fetch(url, options);
}
ทดสอบด้วยการเรียก:
javascript
function testLine() {
  sendLineMessage("ทดสอบแจ้งเตือนจาก Google Apps Script");
}
═══════════════════════════════════════ 🔔 4. แจ้งเตือน LINE เมื่อมีข้อมูลใหม่ ═══════════════════════════════════════ ผสมกับการบันทึกฟอร์ม: บันทึกลง Sheet แล้วส่ง LINE ทันที
javascript
function submitAndNotify(name, message) {
  var sheet = SpreadsheetApp.openById("SHEET_ID").getSheetByName("data");

  // 1) บันทึกข้อมูล
  sheet.appendRow([new Date(), name, message]);

  // 2) แจ้งเตือนเข้า LINE
  var notify = "📥 มีข้อความใหม่\nจาก: " + name + "\nข้อความ: " + message;
  sendLineMessage(notify);
}
═══════════════════════════════════════ 🧩 5. อธิบายส่วนสำคัญของโค้ด ═══════════════════════════════════════ • UrlFetchApp.fetch(url, options) → ส่ง HTTP request ออกไปภายนอก • method: "post" → ส่งแบบ POST • Authorization: "Bearer " + token → ยืนยันตัวตนด้วยโทเคน • JSON.stringify(payload) → แปลง object เป็นข้อความ JSON • "\n" ในข้อความ → ขึ้นบรรทัดใหม่ใน LINE ═══════════════════════════════════════ 📱 6. ส่งข้อความหลายคน (Broadcast/Multicast) ═══════════════════════════════════════ ส่งหาหลายคนพร้อมกันด้วย multicast (เปลี่ยน endpoint และใช้ "to" เป็น array)
javascript
function sendMulticast(userIds, text) {
  var token = "วาง_CHANNEL_ACCESS_TOKEN";
  var url = "https://api.line.me/v2/bot/message/multicast";

  var payload = {
    "to": userIds,   // array ของ user id เช่น ["Uxxx", "Uyyy"]
    "messages": [{ "type": "text", "text": text }]
  };

  UrlFetchApp.fetch(url, {
    "method": "post",
    "headers": {
      "Content-Type": "application/json",
      "Authorization": "Bearer " + token
    },
    "payload": JSON.stringify(payload)
  });
}
═══════════════════════════════════════ ✅ 7. สรุป ═══════════════════════════════════════ • ใช้ LINE Messaging API (LINE Notify ปิดแล้ว) • ต้องมี Channel access token + User ID ของผู้รับ • ส่งด้วย UrlFetchApp.fetch ไปที่ api.line.me • ผสมกับ Sheet เพื่อแจ้งเตือนอัตโนมัติเมื่อมีข้อมูลใหม่ • เก็บโทเคนเป็นความลับเสมอ จำไว้: การแจ้งเตือนเรียลไทม์เข้า LINE ทำให้ระบบของคุณมีชีวิตและใช้งานจริงได้ทันที 💚