ไลบรารีคือโปรเจ็กต์สคริปต์ซึ่งมีฟังก์ชันที่สามารถนำมาใช้ซ้ำในสคริปต์อื่นๆ ได้
รับสิทธิ์เข้าถึงคลัง
หากต้องการรวมไลบรารีไว้ในโปรเจ็กต์ คุณต้องมีระดับการดูเป็นอย่างน้อย เข้าถึงได้ หากคุณไม่ใช่ผู้เขียนห้องสมุดที่คุณต้องการ รวมถึงติดต่อผู้เขียนและขอสิทธิ์เข้าถึง
คุณต้องมีรหัสสคริปต์ของไลบรารีที่ต้องการรวมไว้ เมื่อคุณมี เข้าถึงไลบรารีได้ คุณจะพบรหัสสคริปต์ในการตั้งค่าโปรเจ็กต์
หน้าเพิ่มไลบรารีลงในโปรเจ็กต์สคริปต์
- ทางด้านซ้ายของเครื่องมือแก้ไข Apps Script ถัดจาก "ไลบรารี" คลิกเพิ่ม คลัง
- ใน "รหัสสคริปต์" วางรหัสสคริปต์ของไลบรารี
- คลิกค้นหา
- คลิกเมนูแบบเลื่อนลงเวอร์ชัน และเลือกเวอร์ชันของไลบรารี ในการใช้กัน
- ตรวจสอบเพื่อดูว่า "ตัวระบุ" เริ่มต้นหรือไม่ คือชื่อที่คุณต้องการให้
ที่ใช้กับไลบรารีนี้ นี่คือชื่อที่สคริปต์ของคุณใช้เพื่อ
อ้างอิงถึงไลบรารี ตัวอย่างเช่น หากตั้งค่าเป็น
Test
คุณสามารถ เรียกใช้เมธอดของไลบรารีนั้นดังนี้Test.libraryMethod()
- คลิกเพิ่ม
ใช้ไลบรารี
ใช้ไลบรารีที่รวมอยู่เช่นเดียวกับที่คุณจะใช้บริการเริ่มต้น สำหรับ
ตัวอย่างเช่น ถ้า Test
เป็นตัวระบุสำหรับคลังของคุณ ให้พิมพ์
Test
ตามด้วยจุดทันทีเพื่อดูรายการเมธอดในคลัง
เอกสารอ้างอิงสำหรับไลบรารีที่รวมอยู่สามารถเปิดได้โดยทำตามขั้นตอนต่อไปนี้ ขั้นตอนเหล่านี้:
ที่ด้านซ้ายของเครื่องมือแก้ไขสคริปต์ ให้คลิกเพิ่มเติม ข้างชื่อไลบรารี
> เปิดในแท็บใหม่นำคลังออก
ที่ด้านซ้ายของเครื่องมือแก้ไขสคริปต์ ให้คลิกเพิ่มเติม ข้างชื่อไลบรารี
> นำออก > นำคลังออกอัปเดตไลบรารี
คุณสามารถเปลี่ยนเวอร์ชันของไลบรารีหรืออัปเดตตัวระบุได้
- ทางด้านซ้ายของเครื่องมือแก้ไขในส่วน "ห้องสมุด" ให้คลิกชื่อไลบรารี
- ทำการเปลี่ยนแปลง แล้วคลิกบันทึก
สร้างและแชร์ไลบรารี
หากต้องการใช้และแชร์โปรเจ็กต์สคริปต์เป็นไลบรารี ให้ทำตามขั้นตอนด้านล่าง
- สร้างการทำให้ใช้งานได้ที่มีเวอร์ชัน ของสคริปต์
- แชร์สิทธิ์เข้าถึงระดับการดูเป็นอย่างน้อยกับผู้มีโอกาสเป็นผู้ใช้ทั้งหมดของไลบรารี
- มอบรหัสสคริปต์ให้กับผู้ใช้เหล่านั้น ซึ่งสามารถดูได้ในโปรเจ็กต์ การตั้งค่า หน้า
แนวทางปฏิบัติแนะนำ
หลักเกณฑ์บางประการที่ควรปฏิบัติตามเมื่อเขียนห้องสมุดมีดังนี้
- เลือกชื่อที่มีความหมายสำหรับโปรเจ็กต์ของคุณเนื่องจากจะใช้เป็นชื่อ ตัวระบุเริ่มต้นเมื่อผู้อื่นรวมห้องสมุดของคุณไว้ด้วย
- หากคุณต้องการให้มองเห็นสคริปต์บางวิธี (หรือ
ใหม่) ให้ผู้ใช้ไลบรารีของคุณ สามารถลงท้ายด้วยชื่อเมธอด
ขีดล่าง เช่น
myPrivateMethod_()
- ผู้ใช้ไลบรารีเท่านั้นที่จะเห็นพร็อพเพอร์ตี้ส่วนกลางที่แจกแจงได้ ซึ่งรวมถึงฟังก์ชัน
การประกาศ ตัวแปรที่สร้างขึ้นนอกฟังก์ชันที่มี
var
และพร็อพเพอร์ตี้ที่ตั้งค่าไว้อย่างชัดแจ้ง บนออบเจ็กต์ส่วนกลาง ตัวอย่างเช่นObject.defineProperty()
ที่มีenumerable
ตั้งค่าเป็นfalse
จะสร้างสัญลักษณ์ที่คุณสามารถใช้ในคลังของคุณได้ แต่ผู้ใช้ของคุณจะไม่สามารถเข้าถึงสัญลักษณ์นี้ได้ ถ้าคุณต้องการให้ผู้ใช้ห้องสมุดของคุณสามารถใช้การเติมข้อความอัตโนมัติในเครื่องมือแก้ไขสคริปต์ เอกสารที่สร้างขึ้นโดยอัตโนมัติ คุณต้องมีรูปแบบ JSDoc สำหรับฟังก์ชันทั้งหมดของคุณ เช่น
/** * Raises a number to the given power, and returns the result. * * @param {number} base the number we're raising to a power * @param {number} exp the exponent we're raising the base to * @return {number} the result of the exponential calculation */ function power(base, exp) { ... }
การกำหนดขอบเขตทรัพยากร
ทรัพยากรที่มี 2 ประเภทเมื่อใช้งานไลบรารี ได้แก่ แบบแชร์ และไม่แชร์ ทรัพยากรที่ใช้ร่วมกันหมายความว่าทั้งไลบรารีและการรวม สคริปต์มีสิทธิ์การเข้าถึงอินสแตนซ์เดียวกันของทรัพยากรในตัว แผนภาพต่อไปนี้แสดงแหล่งข้อมูลที่ใช้ร่วมกัน โดยใช้ตัวอย่างของ พร็อพเพอร์ตี้ผู้ใช้:
ทรัพยากรที่ไม่ได้แชร์หมายความว่าทั้งไลบรารีและสคริปต์ที่รวมไว้ สิทธิ์ในตัวสำหรับอินสแตนซ์ของทรัพยากรเท่านั้น อย่างไรก็ตาม ห้องสมุดอาจ ให้การเข้าถึงทรัพยากรที่ไม่ได้แชร์โดยมีฟังก์ชันที่ชัดเจนซึ่ง ดำเนินการในสิ่งเหล่านั้น นี่คือตัวอย่างของฟังก์ชันที่คุณจะรวมไว้ใน ไลบรารีของคุณเพื่อแสดงคุณสมบัติสคริปต์:
function getLibraryProperty(key) {
return ScriptProperties.getProperty(key);
}
แผนภาพต่อไปนี้แสดงแหล่งข้อมูลที่ไม่ได้แชร์โดยใช้ตัวอย่างของ พร็อพเพอร์ตี้ของสคริปต์:
ตารางนี้แสดงรายการทรัพยากรที่ใช้ร่วมกันและไม่ได้แชร์เพื่อให้คุณใช้ในการอ้างอิง
ทรัพยากร | แชร์* | ไม่แชร์** | หมายเหตุ |
---|---|---|---|
ล็อก | อินสแตนซ์เดียวกันจะปรากฏแก่ทุกคน รวมถึงสคริปต์เมื่อสร้างใน ไลบรารี | ||
คุณสมบัติของสคริปต์ | อินสแตนซ์เดียวกันจะปรากฏแก่ทุกคน รวมถึงสคริปต์เมื่อสร้างใน ไลบรารี | ||
แคช | อินสแตนซ์เดียวกันจะปรากฏแก่ทุกคน รวมถึงสคริปต์เมื่อสร้างใน ไลบรารี | ||
ทริกเกอร์ | ทริกเกอร์ทั่วไปที่สร้างขึ้นในไลบรารีจะไม่ทริกเกอร์โดยการรวม สคริปต์ | ||
ScriptApp | |||
UiApp |
|
||
พร็อพเพอร์ตี้ผู้ใช้ | |||
ตัวบันทึกและข้อความถอดเสียงของการดำเนินการ | |||
เว็บไซต์ ชีต และคอนเทนเนอร์อื่นๆ | การเรียก getActive() จะแสดงคอนเทนเนอร์ของ
รวมทั้งสคริปต์ |
||
MailApp และ GmailApp | |||
* ซึ่งหมายความว่าไลบรารีไม่มีอินสแตนซ์ของ
ฟีเจอร์/ทรัพยากร และใช้ฟีเจอร์/ทรัพยากรที่สร้างโดยสคริปต์แทน
ที่เรียกใช้
** ซึ่งหมายความว่าไลบรารีมีอินสแตนซ์ของทรัพยากร/ฟีเจอร์ของตัวเอง และสคริปต์ทั้งหมดที่ใช้ไลบรารีจะใช้และมีสิทธิ์เข้าถึงรายการดังกล่าวได้ อินสแตนซ์เดียวกัน |
ทดสอบไลบรารี
หากต้องการทดสอบไลบรารี ให้ใช้การทำให้ส่วนหัวใช้งานได้ ทุกคนที่มีระดับผู้แก้ไข สคริปต์สามารถใช้การติดตั้งใช้งานส่วนหัว
แก้ไขข้อบกพร่องของไลบรารี
เมื่อใช้โปรแกรมแก้ไขข้อบกพร่องในโปรเจ็กต์ที่มีไลบรารี สามารถก้าวเข้าสู่ฟังก์ชันของไลบรารีที่รวมไว้ รหัสจะปรากฏใน โปรแกรมแก้ไขข้อบกพร่องในโหมดดูอย่างเดียวและในเวอร์ชันที่ถูกต้อง