대기 중인 액세스 제안서 관리

액세스 제안서는 요청자가 수신자에게 Google Drive 항목에 대한 액세스 권한을 부여해 달라고 승인자에게 제안하는 문서입니다.

승인자는 Drive 파일에서 해결되지 않은 모든 액세스 제안을 검토하고 조치를 취할 수 있습니다. 즉, 프로그래매틱 방식으로 액세스 제안을 쿼리한 후 해결하여 승인 절차를 가속화할 수 있습니다. 또한 승인자가 제안서를 집계하여 볼 수 있습니다.

Google Drive API는 대기 중인 액세스 제안을 보고 해결할 수 있도록 accessproposals 리소스를 제공합니다. accessproposals 리소스의 메서드는 파일, 폴더, 공유 드라이브 내 파일에는 작동하지만 공유 드라이브에는 작동하지 않습니다.

다음 용어는 액세스 제안서에만 해당합니다.

  • 요청자: Drive 항목에 대한 액세스 제안을 시작한 사용자입니다.
  • 수신자: 액세스 제안이 승인된 경우 파일에 대한 추가 권한을 받는 사용자입니다. 수신자가 요청자와 동일한 경우가 많지만 항상 그런 것은 아닙니다.
  • 승인자: 액세스 제안을 승인 (또는 거부)할 책임이 있는 사용자입니다. 이는 일반적으로 문서의 소유자이거나 문서를 공유할 수 있기 때문입니다.

대기 중인 액세스 제안서 나열

Drive 항목에서 대기 중인 모든 액세스 제안을 나열하려면 accessproposals 리소스에서 list() 메서드를 호출하고 fileId 경로 매개변수를 포함합니다.

파일의 승인자만 파일에 대기 중인 제안을 표시할 수 있습니다. 승인자는 파일에 대한 can_approve_access_proposals 기능이 있는 사용자입니다. 요청자가 승인자가 아닌 경우 빈 목록이 반환됩니다. capabilities에 관한 자세한 내용은 파일 기능 이해를 참고하세요.

응답 본문은 파일에서 해결되지 않은 액세스 제안 목록을 나타내는 AccessProposal 객체로 구성됩니다.

AccessProposal 객체에는 요청자, 수신자, 요청자가 추가한 메시지와 같은 각 제안서에 관한 정보가 포함됩니다. 또한 요청자의 제안된 roleview로 그룹화하는 AccessProposalRoleAndView 객체도 포함됩니다. role는 반복 필드이므로 각 제안서에 여러 개가 있을 수 있습니다. 예를 들어 제안서에는 role=readerview=publishedAccessProposalRoleAndView 객체와 role=writer 값만 있는 추가 AccessProposalRoleAndView 객체가 있을 수 있습니다. 자세한 내용은 를 참고하세요.

다음 쿼리 매개변수를 전달하여 액세스 제안서의 페이징을 맞춤설정하거나 필터링합니다.

  • pageToken: 이전 목록 호출에서 수신된 페이지 토큰입니다. 후속 페이지를 검색하려면 이 토큰을 입력합니다.

  • pageSize: 페이지당 반환할 최대 액세스 제안서 수입니다.

대기 중인 액세스 제안 해결

Drive 항목에서 대기 중인 모든 액세스 제안을 해결하려면 accessproposals 리소스에서 resolve() 메서드를 호출하고 fileIdproposalId 경로 매개변수를 포함합니다.

resolve() 메서드에는 제안서에 취할 작업을 나타내는 action 쿼리 매개변수가 포함됩니다. Action 객체는 제안서의 상태 변경을 추적하여 제안서가 승인 또는 거부되었는지 확인합니다.

resolve() 메서드에는 선택적 쿼리 매개변수인 roleview도 포함됩니다. 지원되는 역할은 writer, commenter, reader뿐입니다. 역할이 지정되지 않으면 기본값은 reader입니다. 선택적 쿼리 매개변수 send_notification를 추가하면 제안서가 수락되거나 거부될 때 요청자에게 이메일 알림을 보낼 수 있습니다.

list() 메서드와 마찬가지로 제안을 해결하는 사용자는 파일에 대한 can_approve_access_proposals 기능을 보유해야 합니다. capabilities에 관한 자세한 내용은 파일 기능 이해를 참고하세요.

제안은 Drive 리소스 공유 시나리오에 나열된 것과 동일한 패턴을 사용하여 해결됩니다. 동일한 사용자에 대해 역할이 서로 다른 제안이 여러 개 있는 경우 다음이 적용됩니다.

  • 한 제안은 수락되고 다른 제안은 거부된 경우 수락된 역할이 Drive 항목에 적용됩니다.
  • 두 제안이 동시에 수락되면 권한이 더 높은 제안 (예: role=writerrole=reader)이 적용됩니다. 다른 액세스 제안은 항목에서 삭제됩니다.

resolve() 메서드에 제안서를 전송하면 공유 작업이 완료됩니다. AccessProposal가 더 이상 list() 메서드를 통해 반환되지 않습니다. 제안이 수락되면 사용자는 permissions 모음을 사용하여 파일 또는 폴더의 권한을 업데이트해야 합니다. 자세한 내용은 권한 업데이트를 참고하세요.