วิธีแจ้งเตือนจาก Google Forms เข้า LINE

ต้องยอมรับว่า ปัจจุบันพฤติกรรมผู้ใช้ “ทั่วไป” จะเปิด LINE อ่านบ่อย และเร็วกว่าการเปิดอ่าน Email

ต่อไปนี้ เป็นวิธีการ ตั้งค่าที่ Google Forms ว่า เมื่อมีคน Submit แบบฟอร์มมา ให้มา Alert ที่ LINE ของเรา หรือ ส่งเข้า LINE Group ก็ได้ โดยอาศัยความสามารถของ Google App Scripts ที่เรียก REST API ของ LINE

สร้าง หรือ แก้ไข Google Forms ที่ต้องการ

จากนั้น ไปที่ “More” หรือ ปุ่มสามจุดแนวตั้งด้านขวามือบน แล้ว คลิกที่ Script Editor

จากนั้น ใส่ Google App Script

ตามนี้ ในที่นี้ ตั้งชื่อ Function คือ sendLineNotification

**** อย่าลืมเปลี่ยน YOUR-TOKEN-GO-HERE ที่จะได้จากขั้นตอนต่อไป ****

function sendLineNotification(e)
{
  // เลือกใช้ Form ที่กำลังใช้งานนี้
  var form = FormApp.getActiveForm() 
  
  // รับค่าจาก Form Response
  var itemResponses = e.response.getItemResponses();  
  
  // ข้อความที่แสดงในบรรทัดแรก
  var result="New Response" 
  
  // Loop แต่ละข้อคำถาม และ คำตอบ
  for (var i = 0; i < itemResponses.length; i++) {
    var itemResponse = itemResponses[i];
    
    // ต่อข้อความจากทุกคำถาม เป็นข้อความยาวข้อความเดียว
    // getTitle คือ Question Title แต่ละข้อ
    // getResponse คือ ถามตอบที่ส่งมา
    result += '\n'+itemResponse.getItem().getTitle()+': '+itemResponse.getResponse()
  }
  
  // สร้างรูปแบบที่จะส่งไปให้ LINE -- ในที่นี้คือข้อความอย่างเดียว
  var formData = {
    'message': result,
  };
  
  // LIINE token : ได้มาจาก https://notify-bot.line.me/my/
  // ในตัวอย่างนี้ เป็นแบบ Personal
  var token = 'YOUR-TOKEN-GO-HERE'
  
  // POST แบบใน Token ใน Header ไปยัง LINE Notify REST API
  var options = {
    'method' : 'post',
    'headers' : {'Authorization': "Bearer "+token},
    'contentType': 'application/x-www-form-urlencoded',
    'payload' : formData
  }
  UrlFetchApp.fetch('https://notify-api.line.me/api/notify', options)
}

ตั้งชื่อ Project, Save แล้ว Run

** อย่าลืม ตั้งชื่อ Project แล้ว Save ด้วย

จากนั้น กดปุ่ม Run เพื่อให้เกิดการขอ Authorization ตาม OAuth Scope

ซึ่งจะเจอ Error นี้ ก็ไม่เป็นไร (เพราะไม่มี ข้อมูลส่งมาจริง ๆ นั่นเอง) ให้กด Dismiss ไป

ไปตั้ง Trigger

ไปที่ เมนู Edit > Current project’s triggers

ตั้งค่า Trigger ให้ทำงานทันทีที่มีการ Submit แบบฟอร์ม

Trigger คือการตั้งค่าให้ Script นี้ทำงานอัตโนมัติ เมื่อมีการ Submit แบบฟอร์ม

คลิก Add Trigger แล้วเลือก Function “sendLineNotification” เลือก “on form submit” และ “Notify me immediately” เพื่อให้เมื่อมีการ Submit แบบฟอร์ม ก็จะแจ้งทาง LINE ทันที

จากนั้น กดปุ่ม Save

ผลที่ได้คืออย่างนี้

ขั้นตอนการขอ LINE Token

ไปที่เว็บไซต์

https://notify-bot.line.me/my/

แล้ว Login ด้วย LINE Account ของท่าน

จากนั้น คลิกปุ่ม Generate token

ตั้งชื่อ และ เลือกว่าจะ Notify ไปที่ใด เราสามารถเลือกได้ว่า

  • ให้ Notify ไปที่เราคนเดียว
  • ให้ Notify ไปยัง Group Chat

*** เราต้องเพิ่ม Line Notify เป็นเพื่อนก่อน และ Invite เข้าไปใน Group Chat นั้น ๆ ด้วย

จากนั้น คลิกปุ่ม Generate Token

ก็จะได้ Token ให้คลิกปุ่ม Copy แล้วคลิก Close

จากนั้น นำไปแทนที่ YOUR-TOKEN-GO-HERE ใน Google App Script ข้างต้น แล้ว Save

เราสามารถสร้าง Token สำหรับใช้งานในกิจกรรมที่แตกต่างกันได้ หลาย ๆ อัน เช่น อาจจะมี ต้องการให้แจ้งเตือนในกลุ่มที่แตกต่างกันออกไป เป็นต้น

เมื่อมีคน Submit แบบฟอร์ม ก็จะมี LINE แจ้งเตือน

อันนี้ แบบ Basic ง่าย ๆ เดี๋ยวค่อยมาเล่าการใช้งานที่ซับซ้อนกว่านี้

หวังว่าจะเป็นประโยชน์ครับ

2 comments for “วิธีแจ้งเตือนจาก Google Forms เข้า LINE

  1. นิติ โชติแก้ว
    March 10, 2020 at 10:26 am

    ขอบคุณครับ ได้นำไปใช้ประโยชน์แน่นอน^^

  2. T K
    April 10, 2020 at 5:56 pm

    ขอบคุณมากครับ เผื่อจะได้ทำสอบใช้งานดูครับ

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.