Thư viện là một dự án tập lệnh có các hàm có thể được sử dụng lại trong tập lệnh khác.
Nhận quyền truy cập vào thư viện
Để đưa một thư viện vào dự án, ít nhất bạn phải có quyền truy cập ở cấp chế độ xem vào dự án đó. Nếu bạn không phải là tác giả của thư viện mà bạn muốn thêm vào, hãy liên hệ với tác giả và yêu cầu quyền truy cập.
Bạn cần có mã tập lệnh của thư viện mà bạn muốn đưa vào. Khi có quyền truy cập vào thư viện, bạn có thể tìm thấy mã tập lệnh trên trang Cài đặt dự án
.Thêm thư viện vào dự án tập lệnh
- Ở bên trái trình chỉnh sửa Apps Script, bên cạnh "Thư viện", hãy nhấp vào biểu tượng Thêm thư viện .
- Trong trường "Mã tập lệnh", hãy dán mã tập lệnh của thư viện.
- Nhấp vào Tra cứu.
- Nhấp vào trình đơn thả xuống Phiên bản và chọn phiên bản thư viện mà bạn muốn sử dụng.
- Kiểm tra xem tên "Mã nhận dạng" mặc định có phải là tên bạn muốn sử dụng với thư viện này hay không. Đây là tên mà tập lệnh của bạn sử dụng để tham chiếu đến thư viện. Ví dụ: nếu đặt giá trị này thành
Test
, bạn có thể gọi một phương thức của thư viện đó như sau:Test.libraryMethod()
. - Nhấp vào Thêm.
Sử dụng thư viện
Sử dụng thư viện đi kèm như sử dụng dịch vụ mặc định. Ví
dụ: nếu Test
là giá trị nhận dạng cho thư viện của bạn, hãy nhập
Test
ngay sau đó để xem danh sách các phương thức trong thư viện.
Bạn có thể mở tài liệu tham khảo cho một thư viện đi kèm bằng cách làm theo các bước sau:
Ở bên trái trình chỉnh sửa tập lệnh, bên cạnh tên thư viện, hãy nhấp vào biểu tượng Thêm
> Mở trong thẻ mới.Xoá thư viện
Ở bên trái trình chỉnh sửa tập lệnh, hãy nhấp vào biểu tượng Thêm
> Xoá > Xoá thư viện bên cạnh tên thư viện.Cập nhật thư viện
Bạn có thể thay đổi phiên bản thư viện hoặc cập nhật giá trị nhận dạng của thư viện.
- Ở bên trái trình chỉnh sửa, trong "Thư viện", hãy nhấp vào tên thư viện.
- Chỉnh sửa rồi nhấp vào Lưu.
Tạo và chia sẻ thư viện
Để sử dụng và chia sẻ dự án tập lệnh với tư cách thư viện, hãy làm theo các bước dưới đây.
- Tạo cách triển khai phiên bản của tập lệnh.
- Chia sẻ quyền truy cập tối thiểu ở cấp chế độ xem với tất cả người dùng tiềm năng của thư viện.
- Cung cấp cho những người dùng đó mã tập lệnh mà bạn có thể tìm thấy trên trang Cài đặt dự án .
Các phương pháp hay nhất
Dưới đây là một số nguyên tắc cần thực hiện khi viết thư viện:
- Chọn tên có ý nghĩa cho dự án của bạn vì tên này sẽ được dùng làm giá trị nhận dạng mặc định khi người khác đưa thư viện của bạn vào.
- Nếu muốn một hoặc nhiều phương thức tập lệnh không hiển thị (không sử dụng được) cho người dùng thư viện, bạn có thể kết thúc tên của phương thức bằng dấu gạch dưới. Ví dụ:
myPrivateMethod_()
. - Chỉ người dùng thư viện mới thấy được các thuộc tính toàn cục được liệt kê. Nội dung này bao gồm phần khai báo hàm, biến được tạo bên ngoài hàm bằng
var
và thuộc tính được đặt rõ ràng trên đối tượng chung. Ví dụ:Object.defineProperty()
cóenumerable
được đặt thànhfalse
sẽ tạo ra một biểu tượng mà bạn có thể sử dụng trong thư viện, nhưng người dùng của bạn không thể truy cập vào biểu tượng này. Nếu muốn người dùng thư viện của mình sử dụng tính năng tự động hoàn thành của trình chỉnh sửa tập lệnh và tài liệu được tạo tự động, bạn phải có tài liệu kiểu JSDoc cho tất cả các hàm. Ví dụ:
/** * 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) { ... }
Phạm vi tài nguyên
Có hai loại tài nguyên khi bạn làm việc với các thư viện: được chia sẻ và không được chia sẻ. Tài nguyên dùng chung có nghĩa là cả thư viện và tập lệnh bao gồm đều có quyền truy cập tích hợp sẵn vào cùng một bản sao của tài nguyên. Sơ đồ dưới đây minh hoạ tài nguyên dùng chung bằng ví dụ về Thuộc tính người dùng:
Tài nguyên không được chia sẻ có nghĩa là cả thư viện và tập lệnh bao gồm chỉ có quyền truy cập tích hợp sẵn vào bản sao tài nguyên của chúng. Tuy nhiên, thư viện có thể cung cấp quyền truy cập vào các tài nguyên không được chia sẻ bằng cách có các hàm rõ ràng hoạt động trên đó. Sau đây là ví dụ về một hàm mà bạn sẽ đưa vào thư viện của mình để hiển thị các thuộc tính của tập lệnh:
function getLibraryProperty(key) {
return ScriptProperties.getProperty(key);
}
Sơ đồ dưới đây minh hoạ tài nguyên không được chia sẻ bằng cách sử dụng ví dụ về Thuộc tính tập lệnh:
Bảng này liệt kê các tài nguyên được chia sẻ và không được chia sẻ để bạn tham khảo:
Tài nguyên | Được chia sẻ* | Không được chia sẻ** | Ghi chú |
---|---|---|---|
Khoá | Một phiên bản sẽ hiển thị cho tất cả người dùng, bao gồm cả tập lệnh khi được tạo trong thư viện. | ||
Thuộc tính của tập lệnh | Một phiên bản sẽ hiển thị cho tất cả người dùng, bao gồm cả tập lệnh khi được tạo trong thư viện. | ||
Bộ nhớ đệm | Một phiên bản sẽ hiển thị cho tất cả người dùng, bao gồm cả tập lệnh khi được tạo trong thư viện. | ||
Điều kiện kích hoạt | Tập lệnh bao gồm các trình kích hoạt đơn giản được tạo trong thư viện không được kích hoạt. | ||
Tập lệnh Script | |||
Ứng dụng UiApp |
|
||
Thuộc tính người dùng | |||
Trình ghi nhật ký và bản chép lời thực thi | |||
Trang web, Bảng tính và các vùng chứa khác | Lệnh gọi đến getActive() sẽ trả về vùng chứa của
tập lệnh bao gồm tập lệnh. |
||
MailApp và GmailApp | |||
* Điều này có nghĩa là thư viện không có phiên bản tính năng/tài nguyên riêng và thay vào đó, sử dụng phiên bản do tập lệnh tạo ra.
** Điều này có nghĩa là thư viện có phiên bản tài nguyên/tính năng riêng và tất cả tập lệnh sử dụng thư viện đó đều có chung và có quyền truy cập vào phiên bản đó. |
Kiểm thử thư viện
Để kiểm thử thư viện của bạn, hãy sử dụng phương thức triển khai đầu. Bất kỳ ai có quyền truy cập vào tập lệnh ở cấp người chỉnh sửa đều có thể sử dụng cách triển khai tiêu đề.
Gỡ lỗi thư viện
Khi sử dụng trình gỡ lỗi trong một dự án có một thư viện, bạn có thể đưa vào một hàm của thư viện đi kèm. Mã này sẽ hiển thị trong trình gỡ lỗi ở chế độ chỉ có thể xem và ở phiên bản phù hợp.