• April 2, 2026

    LINE Notify ได้ยุติการให้บริการไปแล้ว (เมื่อวันที่ 1 เมษายน 2025 ที่ผ่านมา) ซึ่งถือว่าน่าเสียดายมากสำหรับสาย Automation

    ปัจจุบันทาง LINE ให้ย้ายไปใช้ Messaging API ผ่าน LINE Official Account (LINE OA) แทนครับ แม้จะฟังดูเหมือนเป็นบัญชีธุรกิจ แต่จริงๆ เราสามารถสร้างขึ้นมาเพื่อใช้ส่งข้อความแจ้งเตือนส่วนตัวหรือใช้ในกลุ่มเล็กๆ ได้ฟรี (ภายในโควตาข้อความฟรีต่อเดือน)

    ถ้าคุณอยากทำระบบส่งข้อความตามวันเวลาที่ตั้งไว้ผ่าน Google Sheets โดยใช้ Messaging API แทน LINE Notify ผมสรุปขั้นตอนแบบเข้าใจง่ายให้ดังนี้ครับ:

    1. เตรียม LINE OA และ Messaging API

    1. ไปที่ LINE Developers Console
    2. สร้าง Provider และสร้างช่องทาง Messaging API
    3. คุณจะได้ Channel Access Token (อันนี้สำคัญมาก เปรียบเสมือนกุญแจ)
    4. หา User ID ของคุณหรือเพื่อน (จะได้จากหน้า Messaging API ในเว็บ Console หรือใช้สคริปต์ดึงค่ามา)

    2. เตรียม Google Sheets

    สร้างตารางง่ายๆ 3 คอลัมน์:

    • Column A: วันเวลาที่ต้องการส่ง (Format: YYYY-MM-DD HH:mm)
    • Column B: ข้อความที่จะส่ง
    • Column C: สถานะ (เช่น “Pending” หรือ “Sent”)

    3. เขียน Google Apps Script (GAS)

    ใน Google Sheets ให้ไปที่ Extensions > Apps Script แล้ววางโค้ดลักษณะนี้ครับ:

    JavaScript

    function sendScheduledMessages() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      var data = sheet.getDataRange().getValues();
      var now = new Date();
      var token = "ใส่_CHANNEL_ACCESS_TOKEN_ของคุณที่นี่";
      
      for (var i = 1; i < data.length; i++) {
        var scheduledTime = new Date(data[i][0]);
        var message = data[i][1];
        var status = data[i][2];
        
        // ถ้าเวลาปัจจุบันเลยเวลาที่ตั้งไว้ และยังไม่ได้ส่ง
        if (now >= scheduledTime && status !== "Sent") {
          var url = "https://api.line.me/v2/bot/message/push";
          var payload = {
            "to": "ใส่_USER_ID_ผู้รับที่นี่",
            "messages": [{"type": "text", "text": message}]
          };
          
          var options = {
            "method": "post",
            "headers": {
              "Content-Type": "application/json",
              "Authorization": "Bearer " + token
            },
            "payload": JSON.stringify(payload)
          };
          
          UrlFetchApp.fetch(url, options);
          sheet.getRange(i + 1, 3).setValue("Sent"); // อัปเดตสถานะว่าส่งแล้ว
        }
      }
    }
    

    4. ตั้งเวลาทำงาน (Triggers)

    1. ในหน้า Apps Script ให้คลิกรูป นาฬิกา (Triggers) ด้านซ้ายมือ
    2. กด + Add Trigger
    3. เลือกฟังก์ชัน sendScheduledMessages
    4. เลือก Time-driven > Minutes timer > Every 1 minute (เพื่อให้สคริปต์มาเช็คตารางงานทุกนาที)

    ข้อดีของวิธีนี้:

    • ฟรี: ภายใต้โควตาข้อความฟรีของ LINE OA (ปัจจุบันให้ค่อนข้างเยอะสำหรับใช้ส่วนตัว)
    • แม่นยำ: ทำงานอัตโนมัติบน Cloud ของ Google ไม่ต้องเปิดคอมทิ้งไว้
    • ยืดหยุ่น: แก้ไขข้อความหรือวันเวลาในมือถือผ่านแอป Google Sheets ได้เลย

    เนื่องจากคุณมีพื้นฐานด้าน PHP และ JavaScript อยู่แล้ว การจัดการเรื่อง JSON Payload และ HTTP POST ใน Apps Script แบบนี้ น่าจะทำได้สบายมากครับ

    อยากให้ผมช่วยขยายความส่วนไหนเป็นพิเศษไหมครับ เช่น วิธีการหา User ID หรือการตั้งค่าใน LINE Developers?



เวอไนน์ไอคอร์ส

ประหยัดเวลากว่า 100 เท่า!






เวอไนน์เว็บไซต์⚡️
สร้างเว็บไซต์ ดูแลเว็บไซต์

Categories