Đề xuất cấp quyền truy cập là đề xuất của người yêu cầu gửi đến người phê duyệt để cấp quyền truy cập vào một mục trên Google Drive cho người nhận.
Người phê duyệt có thể xem xét và xử lý tất cả các đề xuất truy cập chưa được giải quyết trên các tệp trên Drive. Điều này có nghĩa là bạn có thể đẩy nhanh quá trình phê duyệt bằng cách truy vấn các đề xuất truy cập theo phương thức lập trình, sau đó giải quyết các đề xuất đó. Chế độ này cũng cho phép người phê duyệt xem các đề xuất theo tổng hợp.
API Google Drive cung cấp tài nguyên accessproposals
để bạn có thể xem và giải quyết các đề xuất truy cập đang chờ xử lý. Các phương thức của tài nguyên accessproposals
hoạt động trên các tệp, thư mục, tệp trong bộ nhớ dùng chung nhưng không hoạt động trên bộ nhớ dùng chung.
Các thuật ngữ sau đây dành riêng cho đề xuất quyền truy cập:
- Người yêu cầu: Người dùng bắt đầu đề xuất quyền truy cập vào một mục trên Drive.
- Người nhận: Người dùng nhận được các quyền bổ sung đối với một tệp nếu đề xuất truy cập được cấp. Nhiều khi người nhận giống với người yêu cầu, nhưng không phải lúc nào cũng vậy.
- Người phê duyệt: Người dùng chịu trách nhiệm phê duyệt (hoặc từ chối) đề xuất truy cập. Điều này thường là do họ là chủ sở hữu tài liệu hoặc có thể chia sẻ tài liệu.
Liệt kê các đề xuất truy cập đang chờ xử lý
Để liệt kê tất cả các đề xuất cấp quyền truy cập đang chờ xử lý trên một mục trên Drive, hãy gọi phương thức list()
trên tài nguyên accessproposals
và thêm tham số đường dẫn fileId
.
Chỉ người phê duyệt trên tệp mới có thể liệt kê các đề xuất đang chờ xử lý trên tệp. Người phê duyệt là người dùng có quyền can_approve_access_proposals
đối với tệp. Nếu người yêu cầu không phải là người phê duyệt, hệ thống sẽ trả về một danh sách trống. Để biết thêm thông tin về capabilities
, hãy xem phần Tìm hiểu về các tính năng của tệp.
Phần nội dung phản hồi bao gồm một đối tượng AccessProposal
đại diện cho danh sách các đề xuất truy cập chưa được giải quyết trên tệp.
Đối tượng AccessProposal
bao gồm thông tin về từng đề xuất, chẳng hạn như người yêu cầu, người nhận và thông báo mà người yêu cầu đã thêm. Tệp này cũng bao gồm một đối tượng AccessProposalRoleAndView
nhóm role
đề xuất của người yêu cầu với view
. Vì role
là một trường lặp lại, nên có thể có nhiều giá trị cho mỗi đề xuất. Ví dụ: một đề xuất có thể có đối tượng AccessProposalRoleAndView
của role=reader
và view=published
, cùng với một đối tượng AccessProposalRoleAndView
bổ sung chỉ có giá trị role=writer
. Để biết thêm thông tin, hãy xem phần Khung hiển thị.
Truyền các thông số truy vấn sau để tuỳ chỉnh tính năng phân trang hoặc lọc các đề xuất quyền truy cập:
pageToken
: Mã thông báo trang, nhận được từ một lệnh gọi danh sách trước đó. Cung cấp mã thông báo này để truy xuất trang tiếp theo.pageSize
: Số lượng đề xuất truy cập tối đa được trả về trên mỗi trang.
Giải quyết các đề xuất cấp quyền truy cập đang chờ xử lý
Để giải quyết tất cả các đề xuất cấp quyền truy cập đang chờ xử lý trên một mục trên Drive, hãy gọi phương thức resolve()
trên tài nguyên accessproposals
và đưa vào các tham số đường dẫn fileId
và proposalId
.
Phương thức resolve()
bao gồm một tham số truy vấn action
biểu thị hành động cần thực hiện đối với đề xuất. Đối tượng Action
theo dõi sự thay đổi trạng thái của đề xuất để chúng ta biết liệu đề xuất đó có được chấp nhận hay bị từ chối.
Phương thức resolve()
cũng bao gồm các tham số truy vấn không bắt buộc của role
và view
. Các vai trò duy nhất được hỗ trợ là writer
, commenter
và reader
. Nếu bạn không chỉ định vai trò, thì vai trò mặc định sẽ là reader
. Một tham số truy vấn không bắt buộc khác của send_notification
cho phép bạn gửi thông báo qua email cho người yêu cầu khi đề xuất được chấp nhận hoặc bị từ chối.
Cũng giống như với phương thức list()
, người dùng phân giải đề xuất phải có khả năng can_approve_access_proposals
trên tệp. Để biết thêm thông tin về capabilities
, hãy xem phần Tìm hiểu về các tính năng của tệp.
Các đề xuất được giải quyết bằng cách sử dụng cùng một mẫu được liệt kê trong phần Các tình huống chia sẻ tài nguyên trên Drive. Nếu có nhiều đề xuất cho cùng một người dùng nhưng với các vai trò khác nhau, thì những điều sau đây sẽ áp dụng:
- Nếu một đề xuất được chấp nhận và một đề xuất bị từ chối, thì vai trò được chấp nhận sẽ áp dụng cho mục trên Drive.
- Nếu cả hai đề xuất đều được chấp nhận cùng một lúc, thì đề xuất có quyền cao hơn (ví dụ:
role=writer
so vớirole=reader
) sẽ được áp dụng. Đề xuất quyền truy cập khác sẽ bị xoá khỏi mặt hàng.
Sau khi gửi đề xuất đến phương thức resolve()
, thao tác chia sẻ sẽ hoàn tất. AccessProposal
không còn được trả về thông qua phương thức list()
. Sau khi đề xuất được chấp nhận, người dùng phải sử dụng tập hợp permissions
để cập nhật quyền trên một tệp hoặc thư mục. Để biết thêm thông tin, hãy xem phần Cập nhật quyền.