Google Apps Script มีบริการในตัวมากกว่า 30 บริการสำหรับการโต้ตอบกับ
ข้อมูลผู้ใช้ ระบบอื่นๆ ของ Google และระบบภายนอก บริการเหล่านี้
เป็นวัตถุส่วนกลางที่คล้ายกับมาตรฐานของ JavaScript
Math
ออบเจ็กต์ ตัวอย่างเช่น เช่นเดียวกับที่ Math
เสนอเมธอด เช่น random()
และ
ค่าคงที่ เช่น PI
และ Apps Script
บริการสเปรดชีตนำเสนอวิธีการต่างๆ เช่น
openById(id)
,
คลาส (ออบเจ็กต์ย่อย) เช่น
Range
และ Enum เช่น
DataValidationCriteria
เอกสารอ้างอิงสำหรับบริการที่ควบคุม Google Workspace มีการรวบรวมผลิตภัณฑ์ใน "Google Workspace บริการ" ภายใต้ส่วน "การอ้างอิง" ที่แถบด้านข้างของเว็บไซต์นี้ บริการสาธารณูปโภค (สำหรับสิ่งของ เช่น การสร้างอินเทอร์เฟซผู้ใช้ การแยกวิเคราะห์ XML หรือการเขียนข้อมูลบันทึก) จะได้รับการรวบรวม ใน "บริการสคริปต์"
ฟีเจอร์ JavaScript สมัยใหม่
Apps Script สนับสนุนรันไทม์ของ JavaScript 2 แบบ ได้แก่ รันไทม์ V8 และรันไทม์ที่เก่ากว่าที่ขับเคลื่อนโดย Mozilla ล่าม JavaScript ของ Rhino
รันไทม์ V8 รองรับ ไวยากรณ์และฟีเจอร์ของ ECMAScript รันไทม์ของ Rhino อิงตาม JavaScript 1.6 มาตรฐาน พร้อมด้วยฟีเจอร์บางรายการจาก 1.7 และ 1.8 คุณเลือกรันไทม์ได้อย่างอิสระ เพื่อใช้กับสคริปต์ของคุณ แต่ขอแนะนำอย่างยิ่งให้ใช้รันไทม์ V8
รันไทม์แต่ละรายการรองรับคลาสและออบเจ็กต์ JavaScript ที่ใช้ได้สำหรับ
นอกเหนือไปจากสคริปต์
และบริการขั้นสูงของ Google บัญชี
สคริปต์สามารถใช้ออบเจ็กต์ทั่วไป เช่น
Array
Date
,
RegExp
,
และอื่นๆ
รวมถึง
Math
และ
Object
ออบเจ็กต์ส่วนกลาง
การใช้การเติมข้อความอัตโนมัติ
เครื่องมือแก้ไขสคริปต์จะมี "ตัวช่วยด้านเนื้อหา" หรือที่เรียกกันโดยทั่วไปว่า "เติมข้อความอัตโนมัติ" ซึ่งจะแสดงวัตถุทั่วโลก ตลอดจนวิธีการและ Enum ที่ถูกต้องในบริบทปัจจุบันของสคริปต์ คำแนะนำที่เติมข้อความอัตโนมัติจะปรากฏขึ้น โดยอัตโนมัติทุกครั้งที่คุณพิมพ์จุดหลังออบเจ็กต์ส่วนกลาง, enum หรือ Method ที่ส่งคืนคลาส Apps Script เช่น
- หากคุณพิมพ์ชื่อเต็มของออบเจ็กต์ส่วนกลางหรือเลือกจากการเติมข้อความอัตโนมัติ
จากนั้นพิมพ์
.
(จุด) คุณจะเห็นเมธอดและ enum ทั้งหมดสำหรับคลาสนั้น - หากพิมพ์อักขระไปสัก 2-3 ตัว คุณจะเห็นคำว่า คำแนะนำที่ขึ้นต้นด้วยอักขระเหล่านั้น
การทำความเข้าใจวัตถุส่วนกลาง
แต่ละบริการมีออบเจ็กต์ส่วนกลาง (ระดับบนสุด) อย่างน้อย 1 รายการ ตัวอย่างเช่น
บริการ Gmail จะเข้าถึงได้จาก
ออบเจ็กต์ GmailApp
บริการบางอย่าง
ให้ออบเจ็กต์ส่วนกลางหลายรายการ ตัวอย่างเช่น
บริการพื้นฐานประกอบด้วยออบเจ็กต์ส่วนกลาง 4 รายการดังนี้
Browser
Logger
,
MimeType
และ
Session
วิธีการโทร
วัตถุทั่วโลกของ Chrome ที่ติดตั้งมาในตัว บริการขั้นสูงรวมวิธีการที่ ส่งคืนข้อมูลหรือคลาส Apps Script สคริปต์จะเรียกใช้เมธอดในรูปแบบนี้:
GlobalObjectName.methodName(argument1, argument2, ..., argumentN);
ตัวอย่างเช่น สคริปต์สามารถส่งอีเมลโดยการเรียกใช้
sendEmail(recipient, subject, body)
ของบริการ Gmail ดังนี้
GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');
หากเมธอดแสดงผลคลาส Apps Script อื่น คุณสามารถเชื่อมโยงการเรียกใช้เมธอดกับคลาสหนึ่งได้
บรรทัด (ประเภทการแสดงผลจะแสดงทั้งในการเติมข้อความอัตโนมัติและในข้อมูลอ้างอิงของเมธอด
documentation.) ตัวอย่างเช่น เมธอด
DocumentApp.create()
แสดงผล Document
ดังนั้น
โค้ดสองส่วนต่อไปนี้เทียบเท่ากัน
var doc = DocumentApp.create('New document');
var body = doc.getTab('t.0').asDocumentTab().getBody();
body.appendParagraph('New paragraph.');
// Same result as above.
DocumentApp.create('New document').getTab('t.0').asDocumentTab().getBody()
.appendParagraph('New paragraph.');
การเข้าถึงชั้นเรียนย่อย
ทุกบริการจะมีชั้นเรียนย่อยอย่างน้อย 1 ชั้นเรียนที่เข้าถึงไม่ได้
ระดับบนสุดที่ออบเจ็กต์ส่วนกลางทำได้ คุณไม่สามารถใช้คีย์เวิร์ด new
เพื่อ
สร้างคลาสเหล่านี้ เช่นเดียวกับที่คุณสามารถทำได้กับคลาส JavaScript มาตรฐาน เช่น
Date
;
คุณจะเข้าถึงชั้นเรียนย่อยได้โดยเรียกใช้เมธอดที่ส่งคืนชั้นเรียนดังกล่าวเท่านั้น หากคุณ
หากไม่แน่ใจเกี่ยวกับวิธีเข้าถึงคลาสที่ต้องการ ให้ไปที่หน้ารากของบริการ
เอกสารอ้างอิง และมองหาเมธอดที่จะแสดงผลคลาสที่คุณต้องการ
การจัดการอินเทอร์เฟซ
บริการบางส่วนรวมถึงคลาสพิเศษที่มีป้ายกำกับว่า "อินเทอร์เฟซ"
ในเอกสารอ้างอิง คลาสเหล่านี้คือคลาสทั่วไปที่ใช้เป็นประเภทการแสดงผล
สำหรับวิธีการที่ไม่สามารถระบุประเภทที่แม่นยำล่วงหน้า ตัวอย่างเช่น
เมธอดบริการเอกสาร
Body.getChild(childIndex)
แสดงผลออบเจ็กต์ Element
ทั่วไป
Element
เป็นอินเทอร์เฟซที่แสดงถึงคลาสอื่นๆ อาจเป็น
Paragraph
หรือ
Table
ออบเจ็กต์อินเทอร์เฟซมัก
มีประโยชน์ในตัวเอง แต่คุณจะต้องเรียกใช้เมธอด เช่น
Element.asParagraph()
เพื่อแคสต์ออบเจ็กต์กลับไปยังคลาสที่แม่นยำ
การใช้งาน Enum
บริการส่วนใหญ่มี Enum บางรายการ (ประเภทที่แจกแจง) ของค่าที่ตั้งชื่อแล้ว สำหรับ
ตัวอย่างเช่น บริการไดรฟ์ใช้ enum
Access
และ
Permission
เพื่อกำหนดผู้ใช้
มีสิทธิ์เข้าถึงไฟล์หรือโฟลเดอร์ ในเกือบทุกกรณี คุณเข้าถึง Enum เหล่านี้
จากออบเจ็กต์ส่วนกลาง ตัวอย่างเช่น การเรียกเมธอด
Folder.setSharing(accessType, permissionType)
ซึ่งมีลักษณะดังนี้
// Creates a folder that anyone on the Internet can read from and write to. (Domain administrators can
// prohibit this setting for Google Workspace users.)
var folder = DriveApp.createFolder('Shared Folder');
folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);