Người dùng phải uỷ quyền cho 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 uỷ quyền lần đầu, 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 quy trình 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 các quyền riêng lẻ này dưới dạng các phạm vi của OAuth.
Đối với hầu hết các tập lệnh, Apps Script sẽ tự động phát hiện những phạm vi bạn cần; bạn có thể xem các phạm vi mà một 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 manifest bằng cách sử dụng chuỗi URL. Đôi khi, bạn cần phải đặt phạm vi một cách 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 hiển thị nội dung mô tả mà con người có thể đọc được về các phạm vi bắt buộc cho người dùng. Ví dụ: nếu tập lệnh của bạn cần quyền chỉ có thể đọc đối với bảng tính, thì tệp kê khai có thể có phạm vi https://www.googleapis.com/auth/spreadsheets.readonly
. Trong luồng 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 Google Trang tính 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 uỷ quyền, phạm vi https://www.googleapis.com/auth/spreadsheets
sẽ cho phép quyền đọc và ghi vào bảng tính.
Xem phạm vi
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:
- Mở dự án tập lệnh.
- Ở bên trái, hãy nhấp vào biểu tượng Tổng quan .
- Xem các phạm vi trong phần Project OAuth Scopes (Phạm vi của dự án OAuth).
Đặt phạm vi tường minh
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, điều 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 đã xuất bản, ứ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 hơn các phạm vi.
Đôi khi, Apps Script tự động chỉ định các dự án có phạm vi rất cởi mở. Điều này có thể có nghĩa là tập lệnh của bạn yêu cầu người dùng cung cấp nhiều thông tin hơn mức cần thiết, đây là một phương pháp không tốt. Đố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 hạn chế hơn, chỉ bao gồm các nhu cầu của tập lệnh và không hơn thế.
Bạn có thể đặt rõ phạm vi mà dự án tập lệnh của bạn sử dụng bằng cách chỉnh sửa tệp manifest của dự án đó. Trường tệp kê khai oauthScopes
là một mảng gồm tất cả các phạm vi mà dự án sử dụng. Để đặt phạm vi của dự án, hãy làm như sau:
- Mở dự án tập lệnh.
- Ở bên trái, hãy nhấp vào biểu tượng Cài đặt dự án .
- Chọn hộp đánh dấu Hiện tệp kê khai "appsscript.json" trong trình chỉnh sửa.
- Ở bên trái, hãy nhấp vào biểu tượng Trình chỉnh sửa .
- Ở bên trái, hãy nhấp vào tệp
appsscript.json
. - Tìm trường cấp cao nhất có nhãn
oauthScopes
. Nếu không có, bạn có thể thêm thông tin đó. - 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" ], ... }
- Ở 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ạy cảm vì chúng cho phép truy cập vào Dữ liệu người dùng 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 khách OAuth trước khi bạn có thể phát hành 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:
- Xác minh ứng dụng OAuth cho Apps Script
- Ứng dụng chưa được xác minh
- Câu hỏi thường gặp về quy trình xác minh OAuth
- Dịch vụ API của Google: Chính sách dữ liệu người dùng
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 phân loại là bị hạn chế và phải tuân thủ các quy tắc bổ sung giúp bảo vệ dữ liệu người dùng. Nếu bạn dự đị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 bị hạn chế, thì ứng dụng đó phải tuân thủ tất cả các quy định hạn chế đã chỉ định thì mới có thể phát hành.
Xem danh sách đầy đủ các phạm vi bị hạn chế trước khi bạn cố gắng xuất bản. Nếu ứng dụng của bạn dùng bất kỳ phạm vi 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.