1. บทนำ
Apps Script CLI หรือ clasp เป็นเครื่องมือที่ช่วยให้คุณสร้าง แก้ไข และทำให้โปรเจ็กต์ Apps Script ใช้งานได้ในเครื่อง ซึ่งช่วยให้คุณสร้างและเผยแพร่เว็บแอปและส่วนเสริมสำหรับผลิตภัณฑ์ต่างๆ เช่น ชีต, เอกสาร, ฟอร์ม และสไลด์ จากบรรทัดคำสั่งได้ คุณพัฒนา Apps Script ได้ 2 วิธี ได้แก่ ใช้ script.google.com หรือในคอมพิวเตอร์ของคุณ เราจะมาเรียนรู้เกี่ยวกับวิธีใช้ clasp ซึ่งเป็นเครื่องมือบรรทัดคำสั่งสำหรับ Apps Script
ฟีเจอร์
- พัฒนาในเครื่อง
claspช่วยให้คุณเขียนโค้ดในคอมพิวเตอร์ของตัวเองและอัปโหลดไปยัง Apps Script เมื่อเขียนเสร็จแล้ว นอกจากนี้ คุณยังดาวน์โหลดโปรเจ็กต์ Apps Script ที่มีอยู่แล้วแก้ไขในเครื่องได้ด้วย เมื่อโค้ดอยู่ในเครื่องแล้ว คุณจะใช้เครื่องมือพัฒนาซอฟต์แวร์ที่ชื่นชอบ เช่น git เพื่อทำงานในโปรเจ็กต์ Apps Script ได้ - จัดการเวอร์ชันการติดตั้งใช้งาน สร้าง อัปเดต และดูการทำให้ใช้งานได้หลายรายการของโปรเจ็กต์
- โค้ดโครงสร้าง
claspจะแปลงโปรเจ็กต์แบบแบนใน script.google.com เป็นโฟลเดอร์โดยอัตโนมัติ เช่น
# On script.google.com:
├── tests/slides.gs
└── tests/sheets.gs
# Locally:
├── tests/
│ ├─ slides.gs
│ └─ sheets.gs
สิ่งที่คุณจะได้เรียนรู้
Codelab นี้จะแสดงวิธีทำกิจกรรมสำคัญ 3 อย่างด้วย clasp
- วิธีสร้างโปรเจ็กต์ Apps Script ใหม่
- วิธีโคลน ดึง และพุชโปรเจ็กต์ที่มีอยู่
- วิธีจัดการการทำให้สคริปต์ใช้งานได้
2. เริ่มต้นใช้งาน
การดาวน์โหลด CLI
CLI ของ Apps Script (clasp) ต้องติดตั้ง Node.js ติดตั้ง Node.js ที่นี่
เมื่อมี Node แล้ว ให้ติดตั้ง CLI ทั่วโลก (นามแฝง clasp) โดยทำดังนี้
npm i @google/clasp -g
3. เปิดใช้ Apps Script API
คุณต้องเปิดใช้ Google Apps Script API ใน Apps Script IDE ก่อนจึงจะใช้ Clasp ได้
4. เข้าสู่ระบบ
เข้าสู่ระบบ
มาลองใช้ clasp กันเลย คำสั่งเดียวที่คุณควรจำคือ clasp
clasp
ก่อนที่จะเริ่มใช้เครื่องมือบรรทัดคำสั่ง เราต้องเข้าสู่ระบบก่อน เรียกใช้คำสั่งนี้
clasp login
หรือหากใช้ SSH ให้ทำดังนี้
clasp login --no-localhost
ในขั้นตอนนี้ ระบบจะแจ้งให้คุณเข้าสู่ระบบ Google โปรเจ็กต์ที่คุณสร้างด้วย CLI จะเชื่อมโยงกับบัญชี Google นี้
5. สร้างโปรเจ็กต์ใหม่
สร้างโปรเจ็กต์แบบสแตนด์อโลน
เริ่มต้นด้วยการสร้างโปรเจ็กต์ Google Apps Script แบบสแตนด์อโลนด้วยคำสั่งต่อไปนี้
mkdir clasp_codelab;
cd clasp_codelab;
clasp create --title "Clasp Codelab" --type standalone;
คุณเพิ่งสร้างโปรเจ็กต์ Apps Script ในโฟลเดอร์ "clasp_codelab"
(ทางเลือกอื่นที่ไม่บังคับ) โคลนโปรเจ็กต์ที่มีอยู่
มาลองสร้างสคริปต์ที่ผูกกับคอนเทนเนอร์สำหรับส่วนเสริมของ Google สไลด์กัน
โดยไปที่ slides.google.com แล้วสร้างงานนำเสนอใหม่ เปลี่ยนชื่องานนำเสนอเป็น "clasp Codelab Test" ในแถบเมนูของสไลด์ ให้เลือก "Apps Script" ในเมนูส่วนขยาย
ซึ่งจะเปิดโปรเจ็กต์ Apps Script ที่ script.google.com
สร้างไดเรกทอรีใหม่สำหรับโปรเจ็กต์ แล้วcdไปยังไดเรกทอรีนั้น
mkdir clasp_codelab_test
cd clasp_codelab_test
หากต้องการโคลนโปรเจ็กต์ เราต้องมี Script ID คุณดูรหัสนี้ได้ใน URL ของโปรเจ็กต์ Apps Script หลัง /projects/ คัดลอกค่าและวางในคำสั่งต่อไปนี้
clasp clone <scriptID>
เอาต์พุตควรมีลักษณะดังนี้

ตอนนี้คุณได้ดาวน์โหลดโปรเจ็กต์ในไดเรกทอรีปัจจุบันแล้ว ใช้โปรแกรมแก้ไขที่คุณชื่นชอบเพื่อดูเนื้อหาของ Code.gs (ฟังก์ชันว่าง)
6. ดึงและพุชไฟล์
แก้ไขโค้ดใน script.google.com
ตอนนี้คุณก็โคลนโปรเจ็กต์ได้แล้ว มาเรียนรู้วิธีดึงและพุชไฟล์กัน เราจะแนะนำขั้นตอนในการแก้ไขบนระบบคลาวด์ผ่าน script.google.com และดึงข้อมูลไปยังคอมพิวเตอร์ของคุณ มาเปิดสคริปต์ในระบบคลาวด์กัน
clasp open-script
ตอนนี้เราอยู่ในโปรแกรมแก้ไขออนไลน์แล้ว เราจะแก้ไขโค้ดบางส่วนทางออนไลน์ซึ่งเราจะดึงข้อมูลในภายหลังโดยใช้ clasp
หากต้องการสร้างไฟล์ Apps Script ใหม่ ให้คลิกเพิ่มไฟล์
> สคริปต์ทางด้านซ้ายของโปรแกรมแก้ไขข้างไฟล์ ป้อนชื่อ utils/strings ในไฟล์ที่สร้างขึ้นใหม่ utils/strings.gs ให้แทนที่โค้ดด้วยโค้ดต่อไปนี้
var world = "世界";
ใน Code.gs ให้แทนที่โค้ดที่มีอยู่ด้วยโค้ดต่อไปนี้
function hello() {
Logger.log("Hello, " + world);
}
คลิกบันทึก ที่ด้านบน
หากต้องการเรียกใช้ฟังก์ชัน ให้เลือก hello จากรายการแบบเลื่อนลงของฟังก์ชันที่ด้านบนของเอดิเตอร์ แล้วคลิกเรียกใช้
คำทักทายจะปรากฏที่ด้านล่างในบันทึกการดำเนินการ
แก้ไขโค้ดในเครื่อง
กลับไปที่บรรทัดคำสั่งที่เราโคลนโปรเจ็กต์ครั้งล่าสุดกัน คุณอาจสังเกตเห็นว่าตอนนี้โค้ดของเราไม่ซิงค์กับโปรแกรมแก้ไขออนไลน์แล้ว หากต้องการแก้ไข ให้ดึงโค้ดจากโปรเจ็กต์ออนไลน์
clasp pull
ตอนนี้กลับไปที่โค้ด คุณจะเห็นว่ามีโฟลเดอร์สำหรับยูทิลิตีของเรา clasp CLI จะแปลงอักขระเครื่องหมายทับ / เป็นโฟลเดอร์ในระบบไฟล์ในเครื่องโดยอัตโนมัติ
ในโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ ให้ไปที่ util/strings.gs แล้วแทนที่ชื่อตัวแปร world ด้วย mondo นอกจากนี้ ให้อัปเดต Code.gs โดยแทนที่ world เป็น mondo หากต้องการอัปเดตรหัสที่อัปเดตใน script.google.com ให้พุชโค้ดที่แก้ไขแล้ว
clasp push
เพียงเท่านี้ก็เรียบร้อยแล้ว ตอนนี้เราได้อัปเดตรหัสของคุณในวันที่ script.google.com แล้ว
7. การกำหนดเวอร์ชันและการติดตั้งใช้งาน
clasp ช่วยให้คุณจัดการเวอร์ชันและการติดตั้งใช้งานได้ ก่อนอื่น มาดูคำศัพท์กันก่อน
- เวอร์ชัน: "สแนปชอต" ของโปรเจ็กต์สคริปต์ โดยถือว่าเวอร์ชันเป็นกิ่งแบบอ่านอย่างเดียวที่ใช้สำหรับการติดตั้งใช้งาน
- การติดตั้งใช้งาน: รุ่นที่เผยแพร่ของโปรเจ็กต์สคริปต์ (มักจะเป็นส่วนเสริมหรือเว็บแอป) ต้องระบุหมายเลขเวอร์ชัน
มาสร้างเวอร์ชันของสคริปต์กัน
clasp create-version "First version"
เราสามารถใช้สตริงเวอร์ชันที่บันทึกไว้ซึ่งสร้างขึ้นแทน [version] เพื่อทำให้สคริปต์ใช้งานได้โดยทำดังนี้
clasp create-deployment 1 "First deployment"
คำสั่ง clasp deploy จะดูไฟล์ Manifest และสร้างการติดตั้งใช้งานเวอร์ชันใหม่ ตอนนี้ระบบได้ทำให้โค้ดของคุณใช้งานได้เป็นไฟล์ที่เรียกใช้งานได้แล้ว ดูข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ในคู่มือการติดตั้งใช้งาน
8. เท่านี้ก็เรียบร้อย
เราหวังว่า CLI ของ Apps Script จะเป็นเครื่องมือที่ใช้งานง่ายซึ่งช่วยคุณจัดการโปรเจ็กต์ Apps Script
สิ่งที่เราได้พูดถึงไปแล้ว
- วิธีสร้างโปรเจ็กต์ Apps Script ใหม่
- วิธีโคลน พุช และดึงโปรเจ็กต์ที่มีอยู่
- วิธีจัดการการทำให้สคริปต์ใช้งานได้
Clasp พร้อมใช้งานใน GitHub และยินดีรับฟีเจอร์และการแก้ไขใหม่ๆ
เราจะตั้งตารอดูผลงานของคุณ