บริการในตัวของ Google

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

วิธีการโทร

วัตถุระดับโลกที่มีการติดตั้งในตัว บริการขั้นสูงรวมวิธีการที่ ส่งคืนข้อมูลหรือคลาส 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);