📑 สารบัญ
เริ่มต้น
สร้างไฟล์ Google Sheets ใหม่
ไฟล์นี้คือฐานข้อมูลของระบบ เก็บผู้รับ LINE กฎแจ้งเตือน ข้อความตั้งเวลา ประวัติการส่ง และข้อมูลตัวอย่าง (สต็อกสินค้า / สมาชิก)
- เข้า sheets.new ด้วยบัญชี Google ที่จะใช้งานจริง
- คลิกชื่อไฟล์มุมซ้ายบน แล้วตั้งชื่อ เช่น แจ้งเตือนร้าน — LINE Alert
ใส่ระบบ
วางไฟล์ Code.gs, Index.html และ appsscript.json
ชุดไฟล์ที่ได้รับมี 3 ไฟล์หลักที่ต้องวาง (โฟลเดอร์ tools และ GUIDE ไม่ต้องอัปโหลด)
- ในไฟล์ชีต ไปที่ ส่วนขยาย›Apps Script
- ตั้งชื่อโปรเจกต์มุมซ้ายบนเป็น Jabphap LINE Alert (ชื่อนี้จะแสดงในหน้าขออนุญาตสิทธิ์)
- เปิดไฟล์ Code.gs ในหน้าแก้ไข กด Ctrl + A ลบโค้ดเดิม แล้ววาง Code.gs ที่ได้รับทั้งไฟล์ กด Ctrl + S
- กดปุ่ม + ข้างคำว่า “ไฟล์” › HTML ตั้งชื่อว่า
Index(ระบบจะเติม .html ให้เอง) ลบเนื้อหาเดิมแล้ววาง Index.html ทั้งไฟล์ กดบันทึก - ไปที่ ⚙ การตั้งค่าโปรเจกต์ ติ๊ก “แสดงไฟล์ Manifest ‘appsscript.json’ ในเครื่องมือแก้ไข” กลับมาเปิด appsscript.json วางทับทั้งไฟล์ แล้วบันทึก
Code.gs เรียกหน้าเว็บจากไฟล์ชื่อ Index ถ้าสะกดต่างไป หน้าเว็บจะเปิดไม่ขึ้น
เลื่อนดูบรรทัดสุดท้ายของ Code.gs และ Index.html ว่าวางครบ (Index.html ลงท้ายด้วย </html>)
appsscript.json ทำอะไร และระบบขอสิทธิ์อะไรบ้าง
กำหนดเขตเวลา Asia/Bangkok และระบุสิทธิ์ที่ใช้จริงเท่านั้น:
| ดู แก้ไข สร้างสเปรดชีต | อ่านข้อมูลในชีตเพื่อตรวจเงื่อนไข บันทึกกฎ ผู้รับ และประวัติ |
| เชื่อมต่อบริการภายนอก | ส่งข้อความผ่าน LINE Messaging API (api.line.me) |
| จัดการทริกเกอร์ | ตรวจกฎและส่งข้อความตั้งเวลาทุก 5 นาที / ตรวจทันทีเมื่อแก้ชีต |
| แสดงเมนูในชีต | เมนู Jabphap LINE Alert ในไฟล์ชีต |
| ดูอีเมลหลักของบัญชี Google | ตรวจว่าผู้รันฟังก์ชันผู้ดูแล (ติดตั้ง / รีเซ็ตรหัสผ่าน) เป็นเจ้าของไฟล์ — กันไม่ให้ผู้เปิดเว็บแอปเรียกใช้ได้ |
ทำครั้งเดียว
รันฟังก์ชัน setup เพื่อสร้างชีต
- ในหน้าแก้ไข Code.gs เลือกฟังก์ชัน
setupจากรายการด้านบน แล้วกด ▶ เรียกใช้ - ครั้งแรก Google จะขออนุญาตสิทธิ์ — ทำตามขั้นที่ 4 แล้วระบบจะรันต่อเอง
- เมื่อเสร็จ ดู บันทึกการดำเนินการ (Execution log) ด้านล่าง จะขึ้นข้อความ “ติดตั้ง Jabphap LINE Alert เรียบร้อย”
ระบบจะสร้างชีตเหล่านี้ให้อัตโนมัติ (พร้อมข้อมูลตัวอย่างให้ลองใช้):
| ชีต | เก็บอะไร |
|---|---|
| ผู้รับ LINE | ผู้ใช้/กลุ่ม LINE ที่รับแจ้งเตือน (เพิ่มเองอัตโนมัติผ่าน Webhook) |
| กฎแจ้งเตือน | ชีต คอลัมน์ เงื่อนไข ข้อความ และผู้รับของแต่ละกฎ |
| ตั้งเวลาส่ง | ข้อความที่ส่งตามเวลา |
| ประวัติ LINE | ข้อความทุกฉบับที่ส่ง |
| สถานะกฎ | ความจำของระบบว่าแถวไหนแจ้งไปแล้ว (ไม่ต้องแก้ไข) |
| สต็อกสินค้า / สมาชิก | ข้อมูลตัวอย่างสำหรับกฎ “สินค้าใกล้หมดสต็อก” และ “สมาชิกใกล้หมดอายุ” — ใช้ชีตของคุณเองแทนได้ |
ใน Execution log จะมีข้อความ รหัสตั้งค่าครั้งแรก: 123456 ใช้รหัสนี้ตอนเปิดเว็บแอปครั้งแรกเพื่อตั้งรหัสผ่านผู้ดูแล (ลืมรหัสผ่านภายหลัง ให้รันฟังก์ชัน resetAdminPassword เพื่อรับรหัสใหม่)
ถ้าเผลอลบชีต หรืออัปเดตเวอร์ชันใหม่ ให้รัน setup อีกครั้ง ระบบจะสร้างเฉพาะส่วนที่ขาด ข้อมูลเดิมไม่หาย
ทำครั้งเดียว
อนุญาตสิทธิ์ให้ระบบ
เป็นเรื่องปกติของสคริปต์ที่ติดตั้งเองในบัญชีของคุณ ข้อมูลไม่ได้ถูกส่งไปที่อื่น


เพราะสคริปต์เป็นของคุณเองและไม่ได้ส่งให้ Google ตรวจรับรอง สคริปต์ทำงานในบัญชีของคุณเท่านั้น
เปิดใช้งาน
เผยแพร่เป็นเว็บแอป
- มุมขวาบน กด ทำให้ใช้งานได้›การทำให้ใช้งานได้รายการใหม่
- กดรูปเฟือง ⚙ เลือก เว็บแอป
- ตั้งค่า เรียกใช้ในฐานะ: ฉัน และ ผู้มีสิทธิ์เข้าถึง: ทุกคน แล้วกด ทำให้ใช้งานได้
- คัดลอก URL ของเว็บแอป (ลงท้ายด้วย
/exec) เก็บไว้ หรือบุ๊กมาร์กในมือถือ




LINE ต้องส่ง Webhook (เมื่อมีคนเพิ่มเพื่อนหรือเชิญบอทเข้ากลุ่ม) มาที่ URL นี้โดยไม่ล็อกอิน Google หน้าจัดการทั้งหมดยังป้องกันด้วยรหัสผ่านผู้ดูแล
ใช้งานครั้งแรก
เชื่อมต่อ LINE Official Account ของคุณ
- เปิด URL เว็บแอป กรอก รหัสตั้งค่าครั้งแรก จาก Execution log แล้วตั้งรหัสผ่านผู้ดูแล
- สร้าง LINE Official Account ที่ manager.line.biz (ฟรี) แล้วเปิด Messaging API ในหน้าตั้งค่าของ OA
- เข้า LINE Developers Console › เลือก Channel › แท็บ Messaging API › Channel access token (long-lived) กด Issue แล้วคัดลอก
- ในเว็บแอป ไปที่ ตั้งค่า LINE วาง token แล้วกด บันทึกและทดสอบ — จะขึ้นชื่อ OA ของคุณ
- คัดลอก Webhook URL จากหน้าเดียวกัน ไปวางที่ LINE Developers › Messaging API › Webhook settings › กด Update และเปิด Use webhook (ใน LINE OA Manager ให้ปิด “ข้อความตอบกลับอัตโนมัติ” ถ้าไม่ต้องการ)
- ให้ทีมงานเพิ่ม OA เป็นเพื่อน หรือเชิญบอทเข้ากลุ่ม LINE — รายชื่อจะเข้าหน้า ผู้รับ LINE เอง แล้วกด ส่งทดสอบ

ระบบนี้ใช้ LINE Messaging API ซึ่งเป็นช่องทางทางการ แพ็กเกจฟรีส่งได้ประมาณ 300 ข้อความ/เดือน (นับตามจำนวนผู้รับ) ดูยอดใช้ได้ที่หน้าตั้งค่า LINE
ดูแลระบบ
อัปเดตเวอร์ชันใหม่
- วาง Code.gs และ Index.html เวอร์ชันใหม่ทับของเดิม แล้วบันทึก
- รันฟังก์ชัน
setupอีกครั้ง (เพิ่มคอลัมน์/ชีตใหม่ถ้ามี ข้อมูลเดิมไม่หาย) - ไปที่ ทำให้ใช้งานได้›จัดการการทำให้ใช้งานได้ กดแก้ไข ✏ เลือก เวอร์ชัน: เวอร์ชันใหม่ แล้วกด ทำให้ใช้งานได้ — URL เดิมใช้ต่อได้
ช่วยเหลือ
คำถามที่พบบ่อย
ส่งไม่ได้ ขึ้น “Channel access token ไม่ถูกต้อง”
ออก token ใหม่ใน LINE Developers (long-lived) แล้ววางใหม่ ระวังเว้นวรรคหรือขึ้นบรรทัดใหม่ติดมา
ผู้รับไม่เข้าหน้า ผู้รับ LINE
ตรวจว่าวาง Webhook URL ที่ลงท้ายด้วย /exec และเปิด Use webhook แล้ว และเว็บแอปเผยแพร่แบบ “ทุกคน” ถ้าแก้โค้ดต้องทำให้ใช้งานได้เป็นเวอร์ชันใหม่ ให้ผู้รับพิมพ์ id ในแชตเพื่อดูรหัส แล้วเพิ่มเองได้
ทำไมแจ้งสินค้าตัวเดิมแค่ครั้งเดียว
โหมด “ครั้งเดียวต่อแถว” จะแจ้งอีกเมื่อแถวนั้นเคยกลับมาไม่ตรงเงื่อนไขแล้วตรงใหม่ (เช่น เติมสต็อกแล้วหมดอีก) ถ้าต้องการแจ้งทุกรอบให้เลือก “ทุกรอบที่ตรวจแล้วยังตรง” หรือกด “ล้างความจำ”
ข้อมูลมาจาก Google Forms ตรวจทันทีได้ไหม
การตรวจทันทีทำงานเมื่อมีคนแก้ชีตด้วยมือ ข้อมูลจากฟอร์มจะถูกตรวจในรอบอัตโนมัติ (ทุก 5–60 นาทีตามที่ตั้ง)
เปิด URL แล้วขึ้น “ไม่พบสคริปต์ฟังก์ชัน: doGet” หรือหน้าขาว
ตรวจว่าวาง Code.gs ครบทั้งไฟล์ และมีไฟล์ HTML ชื่อ Index จากนั้นทำให้ใช้งานได้เป็นเวอร์ชันใหม่
หน้าเว็บขึ้นว่า “ยังไม่ได้ติดตั้งระบบ”
ยังไม่ได้รันฟังก์ชัน setup หรือรันจากโปรเจกต์ที่ไม่ได้ผูกกับไฟล์ชีต ให้เปิด Apps Script จากเมนู ส่วนขยาย ของไฟล์ชีต แล้วรัน setup
ทริกเกอร์อัตโนมัติอยู่ที่ไหน
ใน Apps Script เมนูด้านซ้ายรูปนาฬิกา (ทริกเกอร์) จะเห็นทริกเกอร์ที่ setup สร้างไว้ ไม่ควรลบ หากเผลอลบให้รัน setup ใหม่