Các dịch vụ tích hợp của Google

Google Apps Script cung cấp hơn 30 dịch vụ tích hợp sẵn để tương tác với dữ liệu người dùng, các hệ thống khác của Google và hệ thống bên ngoài. Các dịch vụ này được cung cấp dưới dạng đối tượng toàn cục giống với đối tượng Math chuẩn của JavaScript. Ví dụ: giống như khi Math cung cấp các phương thức như random() và các hằng số như PI, Dịch vụ bảng tính của Apps Script sẽ cung cấp các phương thức như openById(id), lớp (đối tượng con) như Range và các giá trị enum như DataValidationCriteria.

Tài liệu tham khảo về các dịch vụ kiểm soát Google Workspace các sản phẩm được thu thập trong "Google Workspace Dịch vụ" trong phần "Reference" trong thanh bên của trang web này. Các dịch vụ tiện ích (cho những hoạt động như tạo giao diện người dùng, phân tích cú pháp XML hoặc ghi dữ liệu nhật ký) được thu thập trong mục "Dịch vụ tập lệnh"

Các tính năng JavaScript hiện đại

Apps Script hỗ trợ 2 thời gian chạy JavaScript: thời gian chạy V8 hiện đại và một thời gian chạy cũ hơn do Trình phiên dịch JavaScript Rhino cung cấp.

Thời gian chạy V8 hỗ trợ cú pháp và các tính năng hiện đại của ECMAScript. Môi trường thời gian chạy Rhino dựa trên tiêu chuẩn JavaScript 1.6 cũ, cộng với một số tính năng của 1.71.8. Bạn có thể tự do chọn thời gian chạy để sử dụng với tập lệnh của mình, nhưng rất nên sử dụng thời gian chạy V8.

Mỗi môi trường thời gian chạy hỗ trợ các lớp và đối tượng JavaScript có sẵn cho tập lệnh của bạn, ngoài các dịch vụ nâng cao của Google và được tích hợp sẵn. Tập lệnh của bạn có thể sử dụng các đối tượng phổ biến như Array, Date, RegExp, v.v., cũng như các đối tượng chung MathObject.

Sử dụng tính năng tự động hoàn thành

Trình chỉnh sửa tập lệnh cung cấp tính năng "nội dung hỗ trợ" thường được gọi là "tự động hoàn thành&&tt; cho biết các đối tượng toàn cục cũng như các phương thức và enum hợp lệ trong ngữ cảnh hiện tại của tập lệnh. Các đề xuất tự động hoàn thành sẽ tự động xuất hiện mỗi khi bạn nhập một dấu chấm sau đối tượng toàn cục, enum hoặc lệnh gọi phương thức trả về lớp Apps Script. Ví dụ:

  • Nếu bạn nhập tên đầy đủ của một đối tượng toàn cục hoặc chọn một đối tượng từ tính năng tự động hoàn thành, rồi nhập . (dấu chấm), bạn sẽ thấy tất cả các phương thức và giá trị enum cho lớp đó.
  • Nếu nhập một vài ký tự, bạn có thể bắt đầu tất cả đề xuất hợp lệ bắt đầu bằng các ký tự đó.

Tìm hiểu về đối tượng toàn cục

Mỗi dịch vụ cung cấp ít nhất một đối tượng chung (cấp cao nhất); ví dụ: dịch vụ Gmail chỉ được truy cập qua đối tượng GmailApp. Một số dịch vụ cung cấp nhiều đối tượng toàn cục; ví dụ: Dịch vụ cơ sở bao gồm 4 đối tượng chung: Browser, Logger, MimeTypeSession.

Phương thức gọi

Các đối tượng toàn cục của gần như tất cả dịch vụ tích hợp sẵn hoặc tích hợp sẵn bao gồm các phương thức trả về dữ liệu hoặc một lớp Apps Script. Tập lệnh thực hiện lệnh gọi phương thức theo định dạng sau:

GlobalObjectName.methodName(argument1, argument2, ..., argumentN);

Ví dụ: một tập lệnh có thể gửi email bằng cách gọi phương thức sendEmail(recipient, subject, body) của dịch vụ Gmail như sau:

GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');

Nếu một phương thức trả về một lớp Apps Script khác, bạn có thể liên kết các lệnh gọi phương thức trên một dòng. (Loại dữ liệu trả về được hiển thị cả trong phần tự động hoàn thành và trong tài liệu tham khảo về phương thức.) Ví dụ: phương thức DocumentApp.create() sẽ trả về Document; do đó, hai phần mã sau đây tương đương nhau:

var doc = DocumentApp.create('New document');
var body = doc.getBody();
body.appendParagraph('New paragraph.');

// Same result as above.
DocumentApp.create('New document').getBody().appendParagraph('New paragraph.');

Truy cập vào các lớp con

Mỗi dịch vụ bao gồm một hoặc nhiều lớp con mà không thể truy cập được từ cấp cao nhất dưới dạng đối tượng toàn cục. Bạn không thể sử dụng từ khoá new để tạo các lớp này, vì bạn có thể làm với các lớp JavaScript tiêu chuẩn như Date; bạn chỉ có thể truy cập vào một lớp con bằng cách gọi một phương thức trả về lớp đó. Nếu bạn không chắc chắn cách truy cập một lớp nhất định, hãy truy cập trang gốc để tham khảo tài liệu tham khảo về dịch vụ và tìm phương thức trả về lớp bạn muốn.

Xử lý giao diện

Một số dịch vụ bao gồm các lớp đặc biệt được gắn nhãn "interfaces" trong tài liệu tham khảo. Đây là các lớp chung được dùng làm loại dữ liệu trả về cho các phương thức không thể xác định trước loại chính xác; ví dụ: phương thức Dịch vụ tài liệu Body.getChild(childIndex) sẽ trả về đối tượng chung Element. Element là giao diện đại diện cho một số lớp khác, có thể là Paragraph hoặc Table. Các đối tượng giao diện hiếm khi hữu ích ; thay vào đó, bạn thường muốn gọi một phương thức như Element.asParagraph() để truyền lại đối tượng đó đến một lớp chính xác.

Làm việc với enum

Hầu hết các dịch vụ đều bao gồm một vài giá trị enum (loại được liệt kê) của các giá trị được đặt tên. Ví dụ: Dịch vụ Drive sử dụng các giá trị enum AccessPermission để xác định người dùng nào có quyền truy cập vào một tệp hoặc thư mục. Trong hầu hết trường hợp, bạn sẽ truy cập vào các giá trị enum này từ đối tượng toàn cục. Chẳng hạn, lệnh gọi phương thức Folder.setSharing(accessType, permissionType) sẽ có dạng như sau:

// 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);