Google Apps Script cung cấp hơn 30 dịch vụ tích hợp để tương tác với dữ liệu người dùng, các hệ thống khác của Google và các 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 tương tự như đối tượng Math
tiêu chuẩn của JavaScript. Ví dụ: giống như Math
cung cấp các phương thức như random()
và
các hằng số như PI
, Apps Script
Dịch vụ bảng tính cung cấp các phương thức như
openById(id)
thân mến!
lớp (đối tượng con) như
Range
và enum như
DataValidationCriteria
.
Tài liệu tham khảo cho các dịch vụ kiểm soát sản phẩmGoogle Workspace được thu thập trong phần "Dịch vụGoogle Workspace " trong tiêu đề "Tài liệu tham khảo" ở thanh bên của trang web này. Dịch vụ tiện ích (dành cho vật dụ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ý) sẽ được thu thập trong "Script Services" .
Các tính năng JavaScript hiện đại
Apps Script hỗ trợ hai môi trường thời gian chạy JavaScript: Môi trường thời gian chạy V8 và một môi trường thời gian chạy cũ hơn được hỗ trợ bởi công nghệ Trình thông dịch JavaScript của Rhino.
Thời gian chạy V8 hỗ trợ các phiên bản Các tính năng và cú pháp ECMAScript. Môi trường thời gian chạy Rhino dựa trên tiêu chuẩn cũ JavaScript 1.6, cùng với một số tính năng từ 1.7 và 1.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 bạn nên sử dụng thời gian chạy V8.
Mỗi thời gian chạy đều hỗ trợ các lớp và đối tượng JavaScript có sẵn cho
Ngoài các tập lệnh tích hợp sẵn,
và các dịch vụ nâng cao của Google. Thông tin
tập lệnh có thể sử dụng các đối tượng phổ biến như
Array
!
Date
!
RegExp
!
v.v.,
cũng như
Math
và
Object
đối tượng toàn cầu.
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 "hỗ trợ nội dung", thường được gọi là "tự động hoàn thành", cho thấy 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 bất cứ khi nào bạn nhập dấu chấm sau một lệnh gọi đối tượng, enum hoặc phương thức toàn cục trả về một lớp Apps Script. Ví dụ:
- Nếu 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, sau đó nhập
.
(dấu chấm), bạn sẽ thấy tất cả phương thức và enum cho lớp đó. - Nếu bạn nhập một vài ký tự, bạn sẽ thấy tất cả các hợp lệ các gợi ý 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 toàn cục (cấp cao nhất); ví dụ:
dịch vụ Gmail chỉ được truy cập từ
đố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 toàn cục: Browser
, Logger
, MimeType
và Session
.
Phương thức gọi
Các đối tượng toàn cục của hầu hết các dịch vụ nâng cao hoặc dịch vụ tích hợp sẵn đều 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 lệnh
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 phương thức
. (Các loại dữ liệu trả về xuất hiện cả trong tính năng tự động hoàn thành và trong tham chiếu của một phương thức
documentation.) Ví dụ: phương thức
DocumentApp.create()
trả về một Document
; do đó,
hai phần mã sau đây là tương đương:
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.');
Truy cập vào lớp con
Mỗi dịch vụ bao gồm một hoặc nhiều lớp con không thể truy cập được từ cấp cao nhất như đối tượng toàn cục. Bạn không thể dùng từ khoá new
để
tạo các lớp này, như bạn có thể với các lớp JavaScript 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 vào một lớp nhất định, hãy truy cập vào trang gốc của tài liệu tham khảo của dịch vụ và tìm một 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 là "giao diện" trong tài liệu tham khảo. Đây là các lớp chung được dùng làm kiểu dữ liệu trả về
đối với 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ề một đối tượng Element
chung.
Element
là một giao diện đại diện cho một số lớp khác, có thể là Paragraph
hoặc Table
. Đối tượng giao diện hiếm khi
tự 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 đối tượng trở lại 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 có một vài giá trị được đặt tên trong enum (loại liệt kê). Ví dụ: Dịch vụ Drive sử dụng enum Access
và Permission
để xác định người dùng nào có quyền truy cập vào tệp hoặc thư mục. Trong hầu hết mọi trường hợp, bạn đều truy cập vào các enum này
từ đối tượng toàn cục. Ví dụ: lệnh gọi đến phương thức Folder.setSharing(accessType, permissionType)
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);