สารบัญ
+ สร้าง Google Forms แจ้งเตือน Line Notify
Cr. a·ดัม - บล็อก
https://adamblog.co/google-form-line-notify/
สร้าง Google Form ขึ้นมาให้ผู้ใช้งานกรอกข้อมูล
เขียน Script ให้อ่านข้อมูลที่ต้องการ
ตั้งค่า Trigger ให้ Run Code แบบอัตโนมัติเมื่อผู้ใช้งานกด Submit แบบฟอร์ม
เขียน Script ให้ส่งข้อความที่ได้ไปที่ LINE Notify
กรณีที่ต้องการส่งข้อความแบบหลายกลุ่ม
+ แจ้งเตือน Line Notify พร้อมแสดงรูปภาพ
script.แจ้งพร้อมแสดงรูปภาพ
ตัวอย่าง Google Form
https://docs.google.com/forms/d/1EmAGqz_gOwCjoMKKFkY6dGAUP-8cE5iZ3HYYZDPANgw/edit?usp=sharing
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);
}
}
}