Thư viện

Thư viện là một dự án tập lệnh mà các hàm của dự án đó có thể được dùng lại trong các tập lệnh khác.

Có quyền truy cập vào một thư viện

Để đưa một thư viện vào dự án, bạn phải có ít nhất quyền truy cập ở cấp độ xem vào thư viện đó. Nếu bạn không phải là tác giả của thư viện mà bạn muốn đưa vào, hãy liên hệ với tác giả và yêu cầu cấp 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

  1. Ở 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 .
  2. Trong trường "Mã tập lệnh", hãy dán mã tập lệnh của thư viện.
  3. Nhấp vào Tìm kiếm.
  4. Nhấp vào trình đơn thả xuống Phiên bản rồi chọn phiên bản thư viện cần dùng.
  5. Kiểm tra để xem tên "Giá trị nhận dạng" mặc định có phải là tên mà 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 dùng để tham chiếu đến thư viện. Ví dụ: nếu đặt thành Test, bạn có thể gọi một phương thức của thư viện đó như sau: Test.libraryMethod().
  6. Nhấp vào Thêm.

Sử dụng thư viện

Sử dụng thư viện đi kèm như cách bạn sử dụng một 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, sau đó nhập dấu chấm để 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 Tuỳ chọn khác > Mở trong thẻ mới.

Xoá thư viện

Ở bên trái của 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 Tuỳ chọn khác > Xoá > Xoá thư viện.

Cập nhật thư viện

Bạn có thể thay đổi phiên bản của thư viện hoặc cập nhật giá trị nhận dạng của thư viện.

  1. Ở bên trái của trình chỉnh sửa, trong phần "Thư viện", hãy nhấp vào tên của thư viện.
  2. 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 của bạn dưới dạng thư viện, hãy làm theo các bước bên dưới.

  1. Tạo một bản triển khai có phiên bản cho tập lệnh của bạn.
  2. Chia sẻ ít nhất quyền truy cập ở cấp độ xem với tất cả người dùng tiềm năng của thư viện.
  3. Cung cấp cho những người dùng đó mã tập lệnh. Bạn có thể tìm thấy mã nà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 bạn cần tuân thủ khi viết thư viện:

  1. Chọn một tên có ý nghĩa cho dự án của bạn vì tên này được dùng làm mã nhận dạng mặc định khi thư viện của bạn được người khác đưa vào.
  2. Nếu muốn một hoặc nhiều phương thức trong tập lệnh của mình không hiển thị (hoặc 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_().
  3. Người dùng thư viện chỉ thấy được các thuộc tính chung có thể liệt kê. Điều này bao gồm các khai báo hàm, các biến được tạo bên ngoài một hàm bằng var và các thuộc tính được đặt rõ ràng trên đối tượng chung. Ví dụ: Object.defineProperty()enumerable được đặt thành false sẽ tạo một biểu tượng mà bạn có thể dùng trong thư viện, nhưng người dùng không thể truy cập vào biểu tượng này.
  4. Nếu muốn người dùng thư viện của bạn sử dụng tính năng tự động hoàn thành của trình chỉnh tập tập lệnh và tài liệu được tạo tự động, bạn phải có tài liệu theo kiểu JSDoc cho tất cả các hàm của mình. 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: dùng chung và không dùng chung. 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 sẵn có vào cùng một phiên bản của tài nguyên. Sơ đồ sau đây minh hoạ một tài nguyên dùng chung bằng ví dụ về Thuộc tính người dùng:

Tài nguyên dùng chung

Tài nguyên không dùng chung 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 vào phiên bản tài nguyên của chúng. Tuy nhiên, một thư viện có thể cung cấp quyền truy cập vào các tài nguyên không dùng chung bằng cách có các hàm rõ ràng hoạt động trên các tài nguyên đó. Dưới đây là ví dụ về một hàm mà bạn sẽ đưa vào thư viện để hiển thị Thuộc tính tập lệnh của thư viện:

  function getLibraryProperty(key) {
    const scriptProperties = PropertiesService.getScriptProperties();
    return scriptProperties.getProperty(key);
  }

Sơ đồ sau minh hoạ một tài nguyên không dùng chung bằng ví dụ về Thuộc tính tập lệnh:

Tài nguyên không được chia sẻ

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ọi người (kể cả tập lệnh) đều có thể thấy cùng một phiên bản khi phiên bản đó được tạo trong thư viện.
Thuộc tính của tập lệnh Mọi người (kể cả tập lệnh) đều có thể thấy cùng một phiên bản khi phiên bản đó được tạo trong thư viện.
Bộ nhớ đệm Mọi người (kể cả tập lệnh) đều có thể thấy cùng một phiên bản khi phiên bản đó được tạo trong thư viện.
Điều kiện kích hoạt Tập lệnh bao gồm không kích hoạt các trình kích hoạt đơn giản được tạo trong thư viện.
ScriptApp
UiApp
Thuộc tính người dùng
Trình ghi nhật ký và nhật ký thực hiện lệnh
Sites, Trang 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, bao gồm cả 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 riêng của tính năng/tài nguyên và thay vào đó, thư viện đang sử dụng phiên bản do tập lệnh đã gọi thư viện đó tạo.
** Điều này có nghĩa là thư viện có phiên bản riêng của tài nguyên/tính năng và tất cả các tập lệnh sử dụng thư viện đều chia sẻ và có quyền truy cập vào cùng một phiên bản đó.

Kiểm thử một thư viện

Để kiểm thử thư viện, hãy sử dụng bản triển khai đầu. Bất kỳ ai có quyền truy cập cấp người chỉnh sửa vào tập lệnh đều có thể sử dụng quy trình triển khai đầu.

Gỡ lỗi thư viện

Khi sử dụng trình gỡ lỗi trong một dự án có chứa một thư viện, bạn có thể bước vào một hàm của thư viện được đưa vào. Mã này xuất hiện trong trình gỡ lỗi ở chế độ chỉ xem và ở phiên bản bên phải.