สร้าง API ด้วย App Script ดึงข้อมูลบน Google Sheets

Sharing is caring!

บทความแนะนำการสร้าง RESTFul API โดยที่จะใช้การเก็บข้อมูลบน Google Sheets ที่ทุกคนคุณเคย แค่มี gmail account ก็สามารถสร้าง API ได้แล้ว บวกกับความรู้เรื่องการเขียน javascript พื้นฐาน เข้าใจพื้นฐานเรื่องการพัฒนาเว็บ (API) น่าจะเพียงพอในการทำ API ในบทความนี้ได้แล้ว

สร้าง Google Sheets เพื่อเป็น ฐานข้อมูล

บางท่านอาจจะไม่ทราบว่า google sheets ที่ทำหน้าที่คล้าย microsoft excel จะสามารถเขียนโปรแกรม อ่าน เขียน ข้อมูลในไฟล์ได้ ข้อดีคือไม่ว่าใครก็สามารถนำข้อมูลในไฟล์ google sheets ไปใช้งานต่อได้โดยไม่ต้องเขียน query เหมือนฐานข้อมูลแบบปกติ

  1. ให้สร้างไฟล์ google sheets ขอตั้งชื่อว่า “poolsawat.com” ชื่อไม่สำคัญ โปรแกรมจะ refer กับ sheetId ฉะนั้นชื่อจะตั้งเป็นอะไรก็ได้
  2. สร้างคอลัมน์ที่มีชื่อตามนี้ (ภาษาอังกฤษ เท่านั้น) id ,topic ,content ,author ,date ,view
  3. สำหรับข้อมูลให้ใส่ตามใจเลย

4. เริ่มเขียนโปรแกรมเลือกที่ เครื่องมือ (tools) -> โปรแกรมแก้ไขสคริป (Script editor)

5. ได้หน้า AppScript Editor เพื่อใช้เขียนโปรแกรมให้แก้ไข ตามนี้

function doGet(request) {
  // sheet id 
  var ss = SpreadsheetApp.openById("ใส่ sheet id ของคุณ");
  var sheet = ss.getActiveSheet()

  const values = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn()).getValues();
  // Converts data rows in json format
  const result = values.map(([a, b, c , d , e , f]) => {
    return ({ id: a, topic: b, content: c, author : d , date : e , view : f})
  })
  return ContentService.createTextOutput(JSON.stringify(result)).setMimeType(ContentService.MimeType.JSON);
}

openById : ให้ระบุ sheet id ที่ได้จาก https://docs.google.com/spreadsheets/d/187hL4DXXXXXXXXXXXXXXXXXXXXXXX-p_JOGjYxU/edit#gid=0 ซึ่งของแต่ละ sheet จะไม่ซ้ำกัน

6.กด “บันทึกโครงการ” script editor จากนั้นกด “เรียกใช้” ระบบขออนุญาตการบัญชีเจ้าของข้อมูล ก็ให้เลือกบัญชีเรา

7. ทำการเริ่มทดสอบ API

8. คัดลอกเว็บแอป URL ไปวางที่ browser ได้เลย

หลัก ๆ ขั้นตอนก็ประมาณนี้ ศึกษาเพิ่มเติมได้ที่นี้ Google App Script

Posts created 80

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top