Phạm vi uỷ quyền cho Tiện ích bổ sung dành cho trình chỉnh sửa

Người dùng phải cho phép tiện ích bổ sung và các ứng dụng khác truy cập vào dữ liệu của họ hoặc hành động thay mặt họ. Khi người dùng chạy tiện ích bổ sung lần đầu tiên, giao diện người dùng tiện ích bổ sung sẽ hiển thị lời nhắc uỷ quyền để bắt đầu quy trình uỷ quyền.

Trong quy trình này, lời nhắc sẽ cho người dùng biết ứng dụng muốn có quyền làm gì. Ví dụ: một tiện ích bổ sung có thể muốn có quyền đọc email của người dùng hoặc tạo sự kiện trong lịch của họ. Dự án tập lệnh của tiện ích bổ sung xác định các quyền riêng lẻ này là phạm vi OAuth.

Bạn khai báo phạm vi trong tệp kê khai bằng cách sử dụng chuỗi URL. Trong quy trình uỷ quyền, Apps Script sẽ hiển thị nội dung mô tả phạm vi mà con người có thể đọc được cho người dùng. Ví dụ: tiện ích bổ sung của bạn có thể sử dụng phạm vi "Đọc tài liệu hiện tại", được viết trong tệp kê khai dưới dạng https://www.googleapis.com/auth/documents.currentonly. Trong luồng uỷ quyền, một tiện ích bổ sung có phạm vi này sẽ yêu cầu người dùng cho phép tiện ích bổ sung: Xem và quản lý tài liệu mà ứng dụng này đã được cài đặt.

Phạm vi xem

Bạn có thể xem các phạm vi mà dự án tập lệnh của bạn hiện yêu cầu bằng cách làm như sau:

  1. Mở dự án tập lệnh.
  2. Ở bên trái, hãy nhấp vào biểu tượng Tổng quan .
  3. Xem các phạm vi trong phần "Project OAuth Scopes" (Phạm vi OAuth của dự án).

Bạn cũng có thể xem các phạm vi hiện tại của dự án tập lệnh trong tệp kê khai dự án, trong trường oauthScopes, nhưng chỉ khi bạn đã đặt các phạm vi đó một cách rõ ràng.

Đặt phạm vi rõ ràng

Apps Script tự động xác định phạm vi mà tập lệnh cần bằng cách quét mã của tập lệnh đó để tìm các lệnh gọi hàm yêu cầu phạm vi đó. Đối với hầu hết các tập lệnh, cách này là đủ và giúp bạn tiết kiệm thời gian, nhưng đối với các tiện ích bổ sung đã phát hành, bạn nên kiểm soát trực tiếp phạm vi nhiều hơn.

Ví dụ: Apps Script có thể cung cấp cho tập lệnh tiện ích bổ sung phạm vi rất cho phép https://mail.google.com theo mặc định. Khi người dùng uỷ quyền cho một dự án tập lệnh trong phạm vi này, dự án đó sẽ được cấp toàn quyền truy cập vào tài khoản Gmail của người dùng. Đối với các tiện ích bổ sung đã phát hành, bạn phải thay thế phạm vi này bằng một tập hợp giới hạn hơn để đáp ứng nhu cầu của tiện ích bổ sung và không còn nữa.

Bạn có thể đặt rõ ràng phạm vi mà dự án tập lệnh của mình sẽ sử dụng bằng cách chỉnh sửa tệp tệp kê khai. Trường tệp kê khai oauthScopes là một mảng gồm tất cả các phạm vi mà tiện ích bổ sung sử dụng. Để đặt phạm vi của dự án, hãy làm như sau:

  1. Xem các phạm vi mà tiện ích bổ sung của bạn hiện đang sử dụng. Xác định những thay đổi cần thực hiện, chẳng hạn như sử dụng một phạm vi hẹp hơn.
  2. Mở tệp kê khai của tiện ích bổ sung.
  3. Tìm trường cấp cao nhất có nhãn oauthScopes. Nếu chưa, bạn có thể thêm nó.
  4. Trường oauthScopes chỉ định một mảng chuỗi. Để đặt phạm vi mà dự án của bạn sử dụng, hãy thay thế nội dung của mảng này bằng các phạm vi mà bạn muốn sử dụng. Ví dụ: đối với Tiện ích bổ sung dành cho trình chỉnh sửa giúp mở rộng Trang tính, bạn có thể có:

    {
      ...
      "oauthScopes": [
        "https://www.googleapis.com/auth/script.container.ui",
        "https://www.googleapis.com/auth/spreadsheets.currentonly"
      ],
      ...
    }
    

  5. Lưu các thay đổi đối với tệp kê khai.

Xác minh OAuth

Khi sử dụng một số phạm vi OAuth nhạy cảm, tiện ích bổ sung của bạn có thể phải trải qua bước xác minh ứng dụng OAuth trước khi bạn có thể xuất bản tiện ích đó. Để biết thêm thông tin chi tiết, vui lòng xem hướng dẫn dưới đây:

Phạm vi bị hạn chế

Một số phạm vi nhất định bị giới hạn và tuân theo các quy tắc bổ sung giúp bảo vệ dữ liệu người dùng. Nếu bạn có ý định phát hành một Tiện ích bổ sung dành cho trình chỉnh sửa hoặc Gmail sử dụng một hoặc nhiều phạm vi hạn chế, thì tiện ích bổ sung phải tuân thủ tất cả các hạn chế đã chỉ định trước khi có thể phát hành.

Hãy xem lại danh sách đầy đủ các phạm vi bị hạn chế trước khi bạn muốn phát hành. Nếu tiện ích bổ sung của bạn sử dụng bất kỳ chế độ cài đặt nào trong số đó, bạn phải tuân thủ Các yêu cầu bổ sung đối với các phạm vi API cụ thể trước khi phát hành.

Phạm vi của tiện ích bổ sung dành cho người chỉnh sửa

Khi bạn tạo một Tiện ích bổ sung chỉnh sửa, phạm vi bắt buộc sẽ được xác định theo dịch vụ Apps Script và các phương thức mà mã tiện ích bổ sung sử dụng. Ví dụ: một tiện ích bổ sung Trang tính có thể cần phạm vi https://www.googleapis.com/auth/spreadsheets.readonly để đọc thông tin trên nhiều Google Trang tính.

Apps Script tự động xác định phạm vi mà dịch vụ bạn sử dụng yêu cầu khi thêm mã vào dự án tập lệnh của mình. Đối với Tiện ích bổ sung dành cho trình chỉnh sửa, bạn thường có thể chỉ cần dựa vào bộ sưu tập phạm vi tự động này thay vì tự xác định phạm vi và đặt các phạm vi đó một cách rõ ràng.

Nếu bạn không đặt phạm vi rõ ràng và Tiện ích bổ sung trình chỉnh sửa chỉ đọc hoặc ghi vào tệp trình chỉnh sửa đang mở, hãy thêm nhận xét sau vào một trong các tệp dự án tập lệnh của bạn:

  /**
   * @OnlyCurrentDoc
   */

Nhận xét này yêu cầu Apps Script thu hẹp phạm vi tệp trình chỉnh sửa thành currentonly. Ví dụ: nếu bạn thêm nhận xét này vào tệp dự án tập lệnh của tiện ích bổ sung Google Trang tính, tức là bạn chỉ định rằng tiện ích bổ sung chỉ cần quyền hoạt động trên Trang tính hiện đang mở chứ không phải bất kỳ Trang tính nào khác mà người dùng có thể có trong Google Drive. Ngược lại, bạn không nên sử dụng nhận xét này nếu tiện ích bổ sung của Trang tính cần đọc hoặc ghi dữ liệu trong một Trang tính mà người dùng hiện chưa mở.