
เชื่อว่าหลายๆ คนคงจะเคยสงสัยว่าจะเป็นไปได้ไหมหากเราใช้ Google Form เป็นฟอร์มสำหรับใช้ในการรับข้อมูลและส่งข้อมูลไปเก็บทั้ง Google Sheet และ นำไปเก็บไว้ที่ฐานข้อมูลของเว็บไซต์ของเราด้วย
วันนี้เราลองมาทำ Lab ง่าย ๆ เพื่อส่งข้อมูลจาก Google Sheet และ นำไปเก็บไว้ที่ฐานข้อมูลของเว็บไซต์ของเรา ศึกษาเพิ่มเติมได้จากคลิปเลยนะครับ
ตัวอย่างโค้ดนะครับ สามารถเอาไปปรับใช้งานได้ตามใจชอบเลยครับ
//กำหนดข้อความให้แสดงหลังทำงานเสร็จ
var TRANSFER_SENT = 'Transfer Complete';
//กำหนด Col ที่จะให้แสดงสถานะ
var TRANSFER_STATUS_COL=4;
//กำหนด Col ที่จะให้แสดง
var TRANSFER_RES_COL=5;
function SendData2Web() {
//กำหนดตัวแปร sheet ให้เป็น Sheet ที่กำลังใช้งาน
var sheet = SpreadsheetApp.getActiveSheet();
//กำหนดตัวแปร dataRange ให้รับข้อมูลทั้งหมดมา
var dataRange = sheet.getDataRange();
//กำหนด data ให้เป็นข้อมูลทั้งหมด
var data = dataRange.getValues();
//วนทำงานตั้งแต่ข้อมูลแถวที่ 1 จนหมดทุกแถว
for(var i=1;i<data.length;i++){
//กำหนดข้อมูลในแต่ละแถวให้กับตัวแปร col
var col = data[i];
//กำหนดตัวแปร SendData ให้เท่ากับข้อมูลใน col[3]
var SendData = col[3];
//กำหนดเว็บที่เราต้องการจะส่งค่าไป
var targetWebRespone = 'https://sys4school.com/test/';
//กำหนด token เพื่อความปลอดภัยว่าข้อมูลส่งไปจากแหล่งข้อมูลที่ถูกต้อง
var token='75450e726f14f480bec0fa50c53a69d4';
//เตรียมเชื่อม url เพื่อเตรียมส่ง
targetWebRespone = targetWebRespone + "?token="+token+"&email="+ col[1] + "&name=" + col[2];
//ตรวจสอบก่อนส่งว่าใน col[3] มีข้อความที่แสดงว่าส่ง และ col[0] จะต้องไม่เป็นค่าว่างซึ่งจะแสดงว่าในแถวนั้นมีข้อมูลอยู่
if(SendData!=TRANSFER_SENT && col[0]!=""){
//กำหนดให้เซลล์ที่ TRANSFER_STATUS_COL=4 ในแถวนั้นแสดงข้อมูลความ Transfer Complete'
sheet.getRange(i+1, TRANSFER_STATUS_COL).setValue(TRANSFER_SENT);
//ส่งค่าไปยังเว็บเป้าหมาย
UrlFetchApp.fetch(targetWebRespone);
//ทำให้ Spreadsheet รีเฟรช
SpreadsheetApp.flush();
}
}
}
ถ้าถูกใจก็กดติดตาม Krurost Channel ด้วยนะครับ
Youtube : https://www.youtube.com/user/krupairost/
Facebook : https://www.facebook.com/KruPairost/