บทนำ
หลายหน่วยงานที่ใช้ Google Apps Script Web App มักพบปัญหาว่า
เมื่อเปิดลิงก์จาก Gmail / Google Workspace / ระบบองค์กร จะเกิดอาการ:
- หน้าเว็บไม่โหลด
- ถูกบล็อกด้วยระบบความปลอดภัย
- Redirect ไม่สมบูรณ์
- เปิดได้เฉพาะบางเบราว์เซอร์
บทความนี้จะแนะนำ เทคนิค Safe Redirect + Healing Page
เพื่อให้ Web App ของเรา เปิดได้เสถียรและปลอดภัย ในทุกบริบทของ Google Workspace
สาเหตุของปัญหา
เมื่อผู้ใช้คลิกลิงก์ Web App จาก:
- Gmail
- Google Chat
- ระบบภายในองค์กร
ลิงก์มักถูกเปิดผ่านโดเมนกลาง เช่น
ซึ่ง Google จะเพิ่มชั้นความปลอดภัย (Sandbox / Redirect Layer)
ทำให้ Apps Script Web App บางตัวไม่สามารถทำงานได้เต็มรูปแบบ
💡 แนวคิดการแก้ไข (Solution Concept)
เราสร้างหน้า “ตัวกลางที่ปลอดภัย” (Healing Page) โดยใช้ doGet() ทำหน้าที่:
- ตรวจสอบแหล่งที่มา (Referrer / User Agent)
- ตรวจสอบ Host ที่มีความเสี่ยง
- Redirect ไปยัง Web App จริงแบบอัตโนมัติ
- ป้องกัน Redirect Loop
- แสดง UI ระหว่างรอ (Loading)
โครงสร้างการทำงาน
ตัวอย่างโค้ด Google Apps Script
จุดเด่นของวิธีนี้
✅ ใช้ได้กับทุกหน่วยงาน
✅ รองรับ Gmail / Workspace / Browser ทั่วไป
✅ ไม่ต้องตั้งค่า Admin เพิ่ม
✅ ป้องกัน Redirect Loop
✅ UX ดี มี Loading Indicator
✅ ใช้ได้เป็น Template กลาง
เหมาะสำหรับใคร?
- หน่วยงานราชการ / องค์กรใหญ่
- ระบบที่เปิดผ่านอีเมล
- Google Apps Script Web App
- ระบบ LMS / Booking / Dashboard
- ผู้พัฒนา GAS ที่เจอปัญหา “เปิดลิงก์ไม่ได้ในองค์กร”
สรุป
เทคนิค Healing Redirect Page
เป็นวิธีที่เรียบง่าย แต่ทรงพลังมากในการแก้ปัญหา Web App เปิดไม่ได้จากระบบองค์กร
👉 “ไม่ต้องแก้ที่ผู้ใช้ ไม่ต้องแก้ที่ Admin — แก้ที่โค้ดเรา”
หวังว่าเทคนิคนี้จะช่วยให้ Web App ของเพื่อนๆ ทำงานได้อย่างราบรื่นขึ้นนะครับ! หากใครนำไปใช้แล้วได้ผลอย่างไร หรือมีวิธีที่เจ๋งกว่านี้ มาแชร์กันได้ในคอมเมนต์ครับ
