Quản lý các đề xuất cấp quyền truy cập đang chờ xử lý

Đề 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 cho người nhận vào một mục trong Google Drive.

Người phê duyệt có thể xem xét và xử lý tất cả các đề xuất cấp quyền truy cập chưa được giải quyết đối với các tệp trên Drive. Điều này có nghĩa là bạn có thể đẩy nhanh quy trình phê duyệt bằng cách truy vấn theo chương trình các đề xuất cấp quyền truy cập rồi giải quyết các đề xuất đó. Người phê duyệt cũng có thể xem các đề xuất theo nhóm.

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 cấp quyền 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, các tệp trong bộ nhớ dùng chung nhưng không hoạt động trên bộ nhớ dùng chung.

Sau đây là các điều khoản dành riêng cho đề xuất cấp quyền truy cập:

  • Người yêu cầu: Người dùng bắt đầu đề xuất cấp 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 cấp quyền truy cập được chấp nhận. Nhiều khi người nhận cũng là 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 cấp quyền truy cập. Điều này thường là do họ là chủ sở hữu của tài liệu hoặc họ có quyền chia sẻ tài liệu.

Liệt kê các đề xuất cấp quyền 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, thì 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 bài viết Tìm hiểu các chức năng của tệp.

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 cấp quyền 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. Nó cũng bao gồm một đối tượng AccessProposalRoleAndView nhóm role được đề xuất của người yêu cầu với một 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 AccessProposalRoleAndViewrole=readerview=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 Lượt xem.

Truyền các tham số truy vấn sau để tuỳ chỉnh việc phân trang hoặc lọc các đề xuất 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 cấp quyền truy cập tối đa cần trả về cho 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 trong Drive, hãy gọi phương thức resolve() trên tài nguyên accessproposals và thêm các tham số đường dẫn fileIdproposalId.

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 đề xuất đó có được chấp nhận hay không.

Phương thức resolve() cũng bao gồm các tham số truy vấn không bắt buộc là roleview. Các vai trò duy nhất được hỗ trợ là writer, commenterreader. 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 là 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 như phương thức list(), người dùng giải quyết đề 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 bài viết Tìm hiểu các chức năng của tệp.

Các đề xuất được giải quyết bằng cách sử dụng các mẫu giống nhau được liệt kê trong phần Các trường hợp 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ì quy tắc sau đây sẽ được á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 lúc, thì đề xuất có quyền cao hơn (ví dụ: role=writer so với role=reader) sẽ được áp dụng. Đề xuất cấp quyền truy cập khác sẽ bị xoá khỏi mục.

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() nữa. 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 đối với một tệp hoặc thư mục. Để biết thêm thông tin, hãy xem bài viết Cập nhật quyền.