Tuesday, March 18, 2014

การเรียกใช้งาน Google Apps Script

Google Apps Script คือวิธีการเรียกใช้งาน Google Apps อีกรูปแบบหนึ่ง ช่วยให้ผู้ใช้สามารถย้ายงานที่ต้องทำซ้ำๆ หรืองานที่มีรูปแบบตายตัว เปลี่ยนมาเป็นการสั่งงานผ่าน script ที่สามารถทำงานได้โดยอัตโนมัติ สำหรับคนที่ยังไม่รู้จัก Google Apps Script สามารถอ่านเพิ่มเติมได้จากบทความ รู้จักกับ Google Apps Script

บทความตอนนี้จะพูดถึงวีธีการเรียกใช้งาน Google Apps Script
เนื่องจาก Google Apps Script คือชุดของคำสั่งที่แสดงขั้นตอนการทำงาน ตามที่เราออกแบบและกำหนดไว้ การเขียน Google Apps Script เราจะเรียกกลุ่มของการทำงานว่า function (แบบเดียวกับ method ของภาษา Java) ซึ่งการทำงานของ Google Apps Script จะเกิดจากการสั่ง run function ที่เราระบุไว้

การเรียกใช้งาน Google Apps Script function

การเรียกใช้งาน function ใน Google Apps Script สามารถทำได้หลายช่องทาง โดยสามารถจำแนกออกเป็น 3 วิธีการหลักๆ ได้แก่

1. สั่ง run function ที่ระบุโดยตรง

กรณีที่เราต้องการสั่ง run function ที่ต้องการ เราสามารถสั่งงานโดยตรงจากหน้า script editor หรือสั่งงานจากหน้า Script Manager ได้ดังนี้
สำหรับหน้า script editor ให้เลือกชื่อ function ที่ต้องการและกดปุ่ม run จากหน้า script editor
สำหรับหน้า Google Sheets ให้กดที่เมนู Tools > Script manager จะปรากฏรายชื่อ function ทั้งหมด เลือก function ต้องการ และกด run

การเรียกใช้ function โดยตรงจากหน้า Script editor

ใน Spreadsheet สามารถเรียกใช้งาน function ได้จากเมนู Tools > Script manager...

เลือกชื่อ function ที่ต้องการและกด Run

2. ตั้ง trigger เพื่อ run fuction ที่ระบุไว้

ในหน้า script editor เราสามารถใส่ trigger เพื่อกำหนดเงื่อนไขในการ run function ที่ต้องการได้ โดย trigger จะแบ่งเป็น 2 รูปแบบคือ

  • Time-driven trigger คือการกำหนดเงื่อนไขการ run function ตามเวลาที่ระบุไว้ (เช่น ให้ส่ง email ทุกวันตอนเวลาหกโมงเช้า) ซึ่งจะมีเงื่อนไขย่อยดังนี้
    • Specific date and time
    • Minutes timer
    • Hour timer
    • Day timer
    • Week timer
    • Month timer
  • Spreadsheet event trigger คือการกำหนดเงื่อนไขการ run function ตาม event ที่เกิดขึ้น มีเงื่อนไขย่อยดังนี้ (trigger ส่วนนี้จะมีเฉพาะกรณีที่เป็น script ที่ผูกอยู่กับ spreadsheet)
    • On open: run function ที่ระบุเมื่อมีการเปิด document
    • On edit: run function ที่ระบุเมื่อมีการแก้ไข document
    • On form submit: run function ที่ระบุเมื่อมีการ submit form มายัง Spreadsheet

การใส่ trigger เพื่อเรียกใช้ function ตามเงื่อนไขที่ระบุไว้

3. ตั้งชื่อ function ที่มีชื่อเฉพาะตามที่ระบบกำหนดไว้

ใน Google Apps Script จะมีชื่อ function เฉพาะจะถูกเรียกใช้เมื่อ event ที่เจาะจงเกิดขึ้น ได้แก่

3.1 event ที่เกี่ยวข้องกับ document
function ที่กำหนดชื่อเป็น onOpen, onEdit จะถูกเรียกใช้งานโดยอัตโนมัติตามเงื่อนไขดังนี้

  • onOpen จะทำงาน เมื่อมีการเปิดเอกสารขึ้นมา
  • onEdit จะทำงาน เมื่อมีการแก้ไขเอกสาร

3.2 function สำหรับ deploy เป็น web app
function ที่กำหนดชื่อเป็น doGet, doPost จะถูกเรียกใช้งานตามเงื่อนไขดังนี้

  • doGet จะทำงาน เมื่อมีการทำ HTTP GET request มาที่ script
  • doPost จะทำงาน เมื่อมีการทำ HTTP POST request มาที่ script
---