สร้าง ระบบคลังเกียรติบัตร ด้วย Apps Script แบบง่าย!!

วันนี้ครูไอทีมาแจกโค้ด “ระบบจัดเก็บเกียรติบัตร” ด้วย Google Apps Script + Google Drive + Google Sheets โดยใช้บัญชี Google Workspace ของโรงเรียนที่มีอีเมล @ชื่อโรงเรียน.ac.th เป็นเงื่อนไขในการเข้าใช้งาน ระบบจะมีหน้าเว็บสำหรับอัปโหลดไฟล์เกียรติบัตร บันทึกข้อมูลอัตโนมัติ และเปิดดูไฟล์ย้อนหลังได้ รองรับไฟล์ PDF, JPG, JPEG และ PNG พร้อมแล้วไปเริ่มกันเลยครับ

ขั้นตอนที่ 1: สร้างฐานข้อมูลใน Google Sheets

1. สร้างโฟลเดอร์ใน Google Drive เพื่อเก็บข้อมูลทั้งหมด

2. สร้าง Google Sheets ใหม่ ตั้งชื่อว่า “ระบบจัดเก็บเกียรติบัตร”

3. คัดลอก Spreadsheet ID จาก URL เช่น https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit แล้วเก็บไว้เพื่อนำไปใส่ในโค้ด

4. สร้างโฟลเดอร์ใน Google Drive ชื่อ “คลังเกียรติบัตรโรงเรียน” แนะนำให้สร้างเป็นโฟลเดอร์ย่อยไว้ในหัวข้อที่ 1.

5. คัดลอก Folder ID จาก URL ของโฟลเดอร์จากข้อที่ 4. แล้วเก็บไว้เพื่อนำไปใส่ในโค้ด


ขั้นตอนที่ 2: สร้างไฟล์ Code.gs

1. จากหน้า Google Sheets เปิด Google Apps Script สร้างโปรเจกต์ใหม่


2. แล้ววางโค้ดต่อไปนี้ ในไฟล์ที่ชื่อ Code.gs โดยเปลี่ยนค่า

2.1 บรรทัดที่ 3 : SPREADSHEET_ID เป็น ID ที่ได้จากขั้นตอนที่ 1

2.2 บรรทัดที่ 4 : DRIVE_FOLDER_ID เป็น ID ที่ได้จากขั้นตอนที่ 1

2.3 บรรทัดที่ 6 : เปลี่ยนเป็นโดนเมนของโรงเรียน


ขั้นตอนที่ 3: สร้างไฟล์ Index.html

1. ใน Apps Script กดเครื่องหมาย + เลือก HTML ตั้งชื่อว่า Index แล้ววางโค้ดนี้ลงไป

2. อาจทำการเปลี่ยนชื่อโรงเรียนในโค้ด Index.html บรรทัดที่ 110 ตามต้องการ


ขั้นตอนที่ 4: Deploy ให้เฉพาะอีเมลโรงเรียนเข้าใช้งาน

ขั้นตอนนี้สำคัญที่สุด เพราะต้องควบคุมสิทธิ์ทั้งหน้าเว็บและไฟล์ที่อัปโหลด

  1. ตั้งค่าโปรเจกต์

เปิด Apps Script → Project Settings → ตรวจสอบการตั้งค่าเขตเวลาให้ตรงกับประเทศไทย และตรวจสอบว่าโปรเจกต์ใช้บัญชี Google Workspace ของโรงเรียน

  1. ตรวจสอบนโยบาย Google Workspace

ผู้ดูแลระบบต้องอนุญาตให้ใช้งาน Apps Script และการเข้าถึง Google Drive/Sheets ตามนโยบายโรงเรียน

  1. Deploy เป็น Web App
  • กด Deploy → New deployment
  • เลือกประเภท Web app
  • ตั้งค่า Execute as และ Who has access ตามแนวทางด้านล่าง
  • กด Deploy และอนุญาตสิทธิ์ Google Drive กับ Google Sheets


แนวทางในการนำไปใช้งาน อาจจะทำ iframe ไปแปะในหน้าเว็บไซต์ของโรงเรียน เพื่อให้ครูและบุคลากรสามารถอัปโหลดเกียรติบัตรของตนเองได้