สอนสร้าง RESTful API แบบง่ายๆด้วย Google App Script

Nutsuda Ploysopond
2 min readApr 8, 2021

วันนี้ก็จะมานำเสนอการสร้าง Web Apps ง่ายๆ เช่น คำนวณเลขสั้นๆโดยใช้ Google App Script อ้างอิงบางส่วนจาก https://developers.google.com/apps-script/guides/web เพื่อความครบถ้วนค่า

Requirement ใน code มีดังนี้

  • มีฟังก์ชั่น doPost(e) หรือ doGet(e)
  • ฟังก์ชั่นต้อง return HtmlOutput หรือ TextOutput object

วันนี้เราจะใช้ฟังก์ชั่น doGet(e) กันนะคะเพราะเวลาเรียกใช้ request จะถูกส่งเป็น GET request

เราสามารถใส่ parameter ต่อหลัง link ได้ เช่น

https://script.google.com/"...link..."/exec?a=12&b=20&operation=sum

ขั้นแรกเราจะเขียน doGet(e) เพื่อรับรีเควส เราลองมาดูกันก่อนว่า parameter ที่เรารับมามันหน้าตาเป็นยังไง โดยใช้ Logger.log(e) แล้วก็ return อะไรสักอย่างเพื่อดูว่า API เรายิง request สำเร็จมั้ย

function doGet(e) {var params = e;Logger.log(e);return HtmlService.createHtmlOutput("Hello"); }

ก่อนจะใช้ต้อง Deploy Web App ก่อน ตามขั้นตอนนี้ Deploy > New Deployment > Select type > Web App ตรงช่อง Who has access ต้องเป็น anyone นะคะ

Deploy เสร็จแล้วก็เอาลิ้งค์ตรง Web app URL ไปใช้ได้เลยตามด้วย parameter ของเรา ในตัวอย่างนี้จะใช้แบบนี้ อย่าลืมใส่ ? นำหน้าด้วย
* หมายเหตุ ถ้าตัวโค้ดมีการเปลี่ยนแปลงก็ต้อง deploy ใหม่ หรือใช้ test deployments เพื่อทดสอบก็ได้

......?a=12&b=20&operation=sum

หลังจากเราใส่ URL เข้าไปหน้าเว็บของเราก็จะขึ้นแบบนี้ และถ้าไปดู log ก็จะขึ้นแบบรูปต่อมา

ที่นี้เราก็จะดึงค่าตัวแปรมาใช้จาก parameter = {b=20, operation = sum, a= 12}

var params = e.parameter;var a = e.parameter.a;var b = e.parameter.b;var operation = e.parameter.operation;

หลังจากนั้นก็เขียนฟังก์ชั่นไว้ใช้ วันนี้จะลองเขียนเป็น math operation ง่ายๆ เช่น บวก ลบ คูณ หาร แล้วก็ให้ return คำตอบกลับไปที่หน้าของเรา

ผลลัพธ์ก็จะออกมาตามที่เราใส่ parameter เลยค่ะ เช่น

เท่านี้ก็เสร็จแล้ว ง่ายมากๆเลยใช่มั้ยคะ มีวิธีใช้อีกเยอะเลย เช่น

  • คำนวณราคาสินค้าพร้อม vat
  • นำข้อมูลจาก parameter ไปใส่ใน google sheet
  • ใช้รวมกับบอทของเราเพื่อคำนวณราคาให้ลูกค้า

--

--