สารบัญ

+ สร้าง Google Forms แจ้งเตือน Line Notify

https://adamblog.co/google-form-line-notify/

  1. สร้าง Google Form ขึ้นมาให้ผู้ใช้งานกรอกข้อมูล

  2. เขียน Script ให้อ่านข้อมูลที่ต้องการ

  3. ตั้งค่า Trigger ให้ Run Code แบบอัตโนมัติเมื่อผู้ใช้งานกด Submit แบบฟอร์ม

  4. เขียน Script ให้ส่งข้อความที่ได้ไปที่ LINE Notify

  5. กรณีที่ต้องการส่งข้อความแบบหลายกลุ่ม

+ แจ้งเตือน Line Notify พร้อมแสดงรูปภาพ

script.แจ้งพร้อมแสดงรูปภาพ

  1. ตัวอย่าง Google Form

https://docs.google.com/forms/d/1EmAGqz_gOwCjoMKKFkY6dGAUP-8cE5iZ3HYYZDPANgw/edit?usp=sharing

  1. SCRIPT ที่ใช้

--–------------------------

function sendLineNotify() {

// Editable

var form = FormApp.openById('xxxx');

var tokens = ['xxxx']; // For 1 line group

// Init

var form_res = form.getResponses()

var formResponse = form_res[form_res.length - 1];

var itemResponses = formResponse.getItemResponses();

// Gets an array of all items in the form.

var items = form.getItems();

var all_message = form.getTitle() + '\n';

var all_message_resend = '';

var all_message_send = '';

var image_id = [];

var IMAGE_URL = [];

var imgThumbnail = [];

var imgFullsize = [];

var file_upload_num = 0;

for (var i = 0; i < itemResponses.length; i++)

{

if (itemResponses[i].getItem().getType() == "GRID")

{

var mrow = items[i].asGridItem().getRows();

var mcol = items[i].asGridItem().getColumns();

var itemResponse_val = itemResponses[i].getResponse().toString().split(",")

all_message += (i+1) + ') ' + itemResponses[i].getItem().getTitle() + ' : ' + '\n';

for (var j = 0; j < mrow.length; j++)

{

all_message += ' - ' + mrow[j] + ' : ' + itemResponse_val[j] + '\n';

}

}

else if (itemResponses[i].getItem().getType() == "FILE_UPLOAD")

{

image_id[file_upload_num] = itemResponses[i].getResponse()

IMAGE_URL[file_upload_num] = 'https://drive.google.com/uc?export=view&id='+ image_id[file_upload_num];

imgThumbnail[file_upload_num] = IMAGE_URL[file_upload_num]; // 240×240px JPEG

imgFullsize[file_upload_num] = IMAGE_URL[file_upload_num]; //1024×1024px JPEG

//all_message += (i+1) + ') ' + itemResponses[i].getItem().getTitle() + ' : ' + 'As below' + '\n';

all_message += (i+1) + ') ' + itemResponses[i].getItem().getTitle() + ' : ' + IMAGE_URL[file_upload_num] + '\n';

file_upload_num += 1;

}

else

{

all_message += (i+1) + ') ' + itemResponses[i].getItem().getTitle() + ' : ' + itemResponses[i].getResponse() + '\n';

}

}

all_message_send = all_message;

for (var k = 0; k < tokens.length; k++) {

if ( file_upload_num > 0 )

{

for (var m = 0; m < file_upload_num; m++ )

{

if ( m == 0 )

{

all_message_send = all_message;

}

else if ( m > 0 )

{

all_message_resend = 'Picture: ' + (m+1);

all_message_send = all_message_resend;

}

var formData = {

'message' : all_message_send,

'imageThumbnail': imgThumbnail[m],'imageFullsize' : imgFullsize[m],

}

var options = {

"method" : "post",

"payload" : formData,

"headers" : {"Authorization" : "Bearer " + tokens[k]}

};

UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);

}

}

else {

var formData = {

'message' : all_message_send,

}

var options = {

"method" : "post",

"payload" : formData,

"headers" : {"Authorization" : "Bearer " + tokens[k]}

};

UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);

}

}

}


+ สร้างแบบทดสอบ เมื่อผ่านเกณฑ์มอบเกียรติบัตร