Phạm vi uỷ quyền

Người dùng phải cho phép các dự án tập lệnh 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 một tập lệnh yêu cầu cấp quyền lần đầu tiên, giao diện người dùng sẽ hiển thị lời nhắc để bắt đầu quy trình uỷ quyền.

Trong luồng này, giao diện người dùng sẽ cho người dùng biết tập lệnh muốn có quyền làm gì. Ví dụ: một tập lệnh 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 xác định từng quyền riêng lẻ này là các phạm vi OAuth.

Đối với hầu hết tập lệnh, Apps Script sẽ tự động phát hiện những phạm vi cần thiết cho bạn; bạn có thể xem các phạm vi mà tập lệnh sử dụng bất cứ lúc nào. Bạn cũng có thể đặt phạm vi một cách rõ ràng trong tệp kê khai bằng cách sử dụng chuỗi URL. Đôi khi, bạn cần phải đặt phạm vi rõ ràng cho một số ứng dụng như tiện ích bổ sung, vì các ứng dụng đã phát hành phải luôn sử dụng phạm vi hẹp nhất có thể.

Trong quy trình uỷ quyền, Apps Script sẽ hiển thị nội dung mô tả về các phạm vi cần thiết mà người dùng có thể đọc được. Ví dụ: nếu tập lệnh của bạn cần quyền chỉ có thể đọc vào bảng tính, thì tệp kê khai có thể có phạm vi https://www.googleapis.com/auth/spreadsheets.readonly. Trong quy trình uỷ quyền, một tập lệnh có phạm vi này sẽ yêu cầu người dùng cho phép ứng dụng này "Xem bảng tính Google của bạn".

Một số phạm vi bao gồm cả các phạm vi khác. Ví dụ: khi được cấp quyền, phạm vi https://www.googleapis.com/auth/spreadsheets sẽ cho phép quyền đọc và ghi bảng tính.

Phạm vi xem

Bạn có thể xem các phạm vi mà dự án tập lệnh của mình hiện đang 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 của dự án OAuth).

Đặ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ã để tìm các lệnh gọi hàm yêu cầu các phạm vi đó. Đối với hầu hết các tập lệnh, như vậy là đủ và giúp bạn tiết kiệm thời gian. Tuy nhiên, đối với các tiện ích bổ sung đã phát hành, ứng dụng web, ứng dụng Google Chat và lệnh gọi đến API Google Chat, bạn phải kiểm soát trực tiếp các phạm vi hơn.

Đôi khi, Apps Script tự động chỉ định cho dự án các phạm vi rất thoải mái. Điều này có thể đồng nghĩa với việc tập lệnh của bạn sẽ yêu cầu người dùng làm nhiều việc hơn mức cần thiết. Đây là một phương pháp không nên áp dụng. Đối với các tập lệnh đã xuất bản, bạn phải thay thế phạm vi rộng bằng một tập hợp giới hạn hơn đáp ứng được nhu cầu của tập lệnh chứ không còn nhu cầu nào khác.

Bạn có thể thiết lập rõ ràng phạm vi mà dự án tập lệnh của mình 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 chứa tất cả các phạm vi mà dự án sử dụng. Để đặt phạm vi dự án, hãy 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 Cài đặt dự án .
  3. Chọn hộp đánh dấu Hiển thị tệp kê khai "appsscript.json" trong trình chỉnh sửa.
  4. Ở bên trái, hãy nhấp vào biểu tượng Trình chỉnh sửa .
  5. Ở bên trái, hãy nhấp vào tệp appsscript.json.
  6. Tìm trường cấp cao nhất có nhãn oauthScopes. Bạn có thể thêm tính năng này nếu chưa có.
  7. 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ụ:
          {
            ...
            "oauthScopes": [
              "https://www.googleapis.com/auth/spreadsheets.readonly",
              "https://www.googleapis.com/auth/userinfo.email"
            ],
           ...
          }
    
  8. Ở trên cùng, hãy nhấp vào biểu tượng Lưu .

Xác minh OAuth

Một số phạm vi OAuth nhất định là nhạy cảm vì chúng cho phép truy cập vào Dữ liệu người dùng của Google. Nếu dự án tập lệnh của bạn sử dụng các phạm vi cho phép truy cập vào dữ liệu người dùng, thì dự án phải trải qua quy trình xác minh ứng dụng OAuth rồi mới có thể xuất bản công khai dưới dạng ứng dụng web hoặc tiện ích bổ sung. Để 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ế

Ngoài các phạm vi nhạy cảm, một số phạm vi nhất định cũng được phân loại là bị hạn chế 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 ứng dụng web hoặc tiện ích bổ sung sử dụng một hoặc nhiều phạm vi giới hạn, thì ứng dụng phải tuân thủ tất cả quy định hạn chế đã chỉ định trước khi có thể phát hành.

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