Construct 2 : บันทึกข้อมูลลง Google Sheet ด้วย AJAX+Google Script

ในบทความที่แล้วเราได้เรียนรู้การนำข้อมูลของผู้เล่นเกม หรือ CAI ไปเก็บไว้ใน Google Sheet ผ่านทาง Google Form ไปแล้ว ในบทความนี้ เราจะเรียนรู้วิธีการเชื่อมต่อกับ Google Sheet อีกวิธีหนึ่ง นั้นคือ การเชื่อมต่อด้วย Google Script ซึ่งเป็นการเชื่อมต่อโดยตรง เหมาะกับฐานข้อมูลจำนวนมาก อีกทั้งง่ายและสะดวกกว่า เรามาดูวิธีทำกันเลยครับ

1. เปิด Google Sheet ขึ้นมา ตั้งชื่อตามต้องการ และแผ่นงานใหม่ โดยตั้งชื่อแต่ละคอลัมน์ดังนี้   ID, User_Name, Class, Seat_Number และ Score ตามลำดับ

2. เปิดโปรแกรมแก้ไขสคริปโดยไปที่แถบเมนู เครื่องมือ > โปรแกรมแก้ไขสคริปต์

3. พิมพ์ สคริปต์ดังนี้

function doGet(e) {
  var ss = SpreadsheetApp.openByUrl("URL ของสเปรดชีต");
  var sheet = ss.getSheetByName("ชื่อแผ่นงานที่ใช้เก็บข้อมูล");
  addUser(e,sheet);
  
}

function doPost(e) {
  var ss = SpreadsheetApp.openByUrl("URL ของสเปรดชีต");
  var sheet = ss.getSheetByName("ชื่อแผ่นงานที่ใช้เก็บข้อมูล");
  addUser(e,sheet);
  
}

//คอลัมน์ต่างๆ ที่ใช้บันทึกข้อมูล
function addUser(e,sheet) {
  var ID = e.parameter.ID;
  var User_Name = e.parameter.User_Name;
  var Class = e.parameter.Class;
  var Seat_Number = e.parameter.Seat_Number;
  var Score = e.parameter.Score;
        sheet.appendRow([ID, User_Name, Class, Seat_Number, Score]);
  
}

4. คัดลอก URL ของ Spreadsheet ใส่แทน “URL ของสเปรดชีต” และใส่ชื่อแผ่นงาน แทน “ชื่อแผ่นงานที่ใช้เก็บข้อมูล

5. เมื่อพิมพ์สคริปต์เสร็จเรียบร้อย ให้ทำการเผยแพร่เป็นแอปพลิเคชั่นเว็บ โดยไปที่เมนู เผยแพร่ > ใช้งานเป็นแอปพลิเคชั่นเว็บ

6. ป้อนชื่อโครงการ > ตกลง

7. แก้ไขหัวข้อใครสามารถเข้าถึงได้ ให้คลิกเลือก ทุกคน รวมถึงคนไม่ระบุชื่อ > ทำให้สามารถใช้งานได้

8. ยืนยันตัวตน อนุญาตให้ดูแลจัดการไฟล์สเปรดชีต

9. คัดลอกลิงก์ ของแอปพลิเคชั่น

10. สร้างโปรเจ็กต์ Construct 2 ใหม่ จัดวางออปเจ็กต์ดังรูป

11. เพิ่ม Event และ Action ดังรูป

การจัดการ AJAX

URL = “https://xxxxxxxx/exec?” เพิ่มเครื่องหมาย ? ไว้หลังสุด ของ URL แอปพลิเคชั่นที่คัดลอกมา
Data =

"ID="&UserID&"&User_Name="&URLEncode(UserName)&"&Class="&Class&"&Seat_Number="&SeatNumber&"&Score="&Score

 


12. เมื่อดำเนินการเสร็จสิ้นให้ทำการทดสอบโปรแกรม เมื่อเปิด สเปรดชีตดูจะมีข้อมูลที่ส่งไป เพิ่มขึ้นในตารางดังภาพตัวอย่าง

Demo : https://www.scirra.com/arcade/other-games/send-data-29161

 

ตัวอย่างข้อมูลใน google Sheet ที่บันทึกไว้ : https://docs.google.com/spreadsheets/…..

ไฟล์สคริปต์ [ดาวน์โหลดที่นี่]

File capx : https://drive.google.com/open?id…

ขอให้สนุกกับการสร้างสรรค์นะครับ