เคยไหมคะ? เปิด Google Forms รับแจ้งซ่อมคอมพิวเตอร์ หรือรับใบลาออนไลน์ แล้วต้องคอยเปิดเข้าไปดูใน Sheets ทุกชั่วโมงว่า “มีใครส่งเรื่องมาหรือยัง?” ถ้าไม่เปิดดูก็ไม่รู้ พอรู้ก็สายเกินไปเสียแล้ว
วันนี้ดิฉันจะพาคุณครูมาปลดล็อกสกิลใหม่ ด้วยการผูก Google Sheets ให้คุยกับ LINE ได้ค่ะ! ทันทีที่มีคนกรอกข้อมูลเข้ามา มือถือเราจะสั่นครืดๆ แจ้งเตือนในกลุ่มไลน์ทันที สะดวก รวดเร็ว และดูโปรสุดๆ
และข่าวดีคือ… ไม่ต้องเขียนโค้ดเก่ง ก็ทำตามได้ใน 4 ขั้นตอนค่ะ!
ระบบนี้เอาไปทำอะไรในโรงเรียนได้บ้าง?
- ระบบแจ้งซ่อม: ภารโรงหรือครูคอมฯ รู้ทันทีว่าห้องไหนแอร์เสีย/คอมพัง
- ระบบลงเวลามาสาย: แจ้งเตือนฝ่ายปกครองทันทีที่เด็กมาสาย
- ระบบจองห้องประชุม: รู้ทันทีว่ามีใครจองห้องไหน เวลาไหน
- กล่องรับความคิดเห็น: ผอ. รับรู้ข้อเสนอแนะได้แบบ Real-time
วิธีทำฉบับจับมือทำ (4 ขั้นตอน)
1. ขอ “กุญแจ” จาก LINE (Get Token)
เปรียบเสมือนการขออนุญาตให้ระบบเจาะเข้าไปส่งข้อความในกลุ่มไลน์ของเราค่ะ
- เข้าไปที่เว็บ LINE Messaging API และล็อกอินด้วยไลน์ของคุณ
- ไปที่ “หน้าของฉัน” (My Page) > เลื่อนลงล่างสุดกด “ออก Token” (Generate Token)
- ตั้งชื่อบอท (เช่น “แจ้งซ่อม”) และเลือก “กลุ่มไลน์” ที่ต้องการให้แจ้งเตือน
- กด “ออก Token” แล้ว คัดลอกรหัสยาวๆ เก็บไว้ให้ดี (ห้ามหายนะคะ เพราะมันดูได้ครั้งเดียว!)
- สำคัญ: อย่าลืมเชิญตัว
LINE Messaging APIเข้าไปอยู่ในกลุ่มไลน์ที่เราเลือกด้วยนะคะ ไม่งั้นมันจะไม่ยอมพูดค่ะ
2. เตรียม Google Sheets
- เปิด Google Sheets ที่เชื่อมกับ Google Forms ของเราไว้
- จำชื่อชีตไว้ให้แม่นๆ (เช่น
Form Responses 1หรือการตอบแบบฟอร์ม 1)
3. ใส่สมองกล (Apps Script)
- ที่หน้า Google Sheets ไปที่เมนู ส่วนขยาย (Extensions) > Apps Script
- ลบโค้ดเก่าทิ้งให้หมด แล้ว Copy โค้ดด้านล่างนี้ไปแปะแทนค่ะ
JavaScript
function sendLineNotify() {
// 1. ใส่รหัส Token ของคุณที่นี่ (เอามาจากขั้นตอนที่ 1)
var token = "วางรหัส_Token_ยาวๆ_ของคุณตรงนี้";
// 2. ตั้งค่าการดึงข้อมูล
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses 1"); // แก้ชื่อชีตให้ตรง
var lastRow = sheet.getLastRow();
var lastCol = sheet.getLastColumn();
// ดึงข้อมูลแถวล่าสุดที่เพิ่งกรอกเข้ามา
var data = sheet.getRange(lastRow, 1, 1, lastCol).getValues()[0];
// 3. ปรับแต่งข้อความที่จะส่ง (สมมติ: คอลัมน์ B=ชื่อ, C=เรื่องแจ้ง)
// data[0] คือคอลัมน์ A (Timestamp), data[1] คือคอลัมน์ B, data[2] คือคอลัมน์ C
var message = "\n🔔 มีรายการแจ้งใหม่เข้ามาครับ!";
message += "\n📅 เวลา: " + data[0]; // วันเวลา
message += "\n👤 ผู้แจ้ง: " + data[1]; // ชื่อ
message += "\n📝 เรื่อง: " + data[2]; // รายละเอียด
// 4. ส่งข้อมูลไปที่ LINE
sendToLine(message, token);
}
function sendToLine(msg, token){
var options = {
"method" : "post",
"payload" : {"message" : msg},
"headers" : {"Authorization" : "Bearer " + token}
};
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
อย่าลืมแก้ตรง วางรหัส_Token และ ชื่อชีต ให้ถูกต้องนะคะ
4. ตั้งเวลาให้ทำงาน (Trigger)
ขั้นตอนนี้คือการสั่งให้โค้ดทำงาน “อัตโนมัติ” ทุกครั้งที่มีคนส่งฟอร์ม
- ในหน้า Apps Script มองหาเมรูปนาฬิกาปลุกทางซ้ายมือ (Triggers)
- กดปุ่มสีฟ้า “เพิ่มทริกเกอร์” (Add Trigger)
- ตั้งค่าตามนี้:
- ฟังก์ชันที่จะเรียกใช้:
sendLineLMessagingAPI - แหล่งที่มาของเหตุการณ์: จากสเปรดชีต (From spreadsheet)
- ประเภทของเหตุการณ์: เมื่อส่งฟอร์ม (On form submit)
- ฟังก์ชันที่จะเรียกใช้:
- กดบันทึก (ระบบจะขออนุญาตเข้าถึงสิทธิ์ ให้กด Allow/Advanced/Go to… ได้เลยค่ะ ปลอดภัยเพราะเป็นสคริปต์เราเอง)
บทสรุป: เหนื่อยครั้งเดียว สบายตลอดไป
เสร็จแล้วค่ะ! ลองทดสอบกรอกฟอร์มดู แล้วคุณจะได้ยินเสียงแจ้งเตือน LINE ดัง “ติ๊ง!” ทันที
การทำระบบนี้อาจจะดูซับซ้อนในครั้งแรก (โดยเฉพาะตอนเห็นโค้ด) แต่เชื่อเถอะค่ะว่าคุ้มค่ามาก เพราะมันเปลี่ยนระบบการทำงานแบบ Passive (รอคนมาเปิดดู) ให้เป็น Active (แจ้งเตือนทันที) ช่วยให้โรงเรียนแก้ปัญหาได้ไวขึ้น และคุณครูเองก็ดูเป็น Professional ด้านไอทีขึ้นมาทันตาเห็นเลยค่ะ!



