액세스 제안은 요청자가 승인자에게 수신자에게 Google Drive 항목에 대한 액세스 권한을 부여하도록 제안하는 것입니다.
승인자는 Drive 파일 전반에서 해결되지 않은 모든 액세스 제안을 검토하고 조치를 취할 수 있습니다. 즉, 액세스 제안을 프로그래매틱 방식으로 쿼리한 다음 해결하여 승인 절차를 빠르게 진행할 수 있습니다. 또한 승인자가 제안을 집계하여 볼 수 있습니다.
Google Drive API는 accessproposals
리소스를 제공하므로 대기 중인 액세스 제안을 확인하고 해결할 수 있습니다. accessproposals
리소스의 메서드는 파일, 폴더, 공유 드라이브 내 파일에서 작동하지만 공유 드라이브에서는 작동하지 않습니다.
다음 용어는 액세스 제안에만 해당합니다.
- 요청자: Drive 항목에 대한 액세스 제안을 시작하는 사용자입니다.
- 수신자: 액세스 제안이 승인된 경우 파일에 대한 추가 권한을 받는 사용자입니다. 수신자는 요청자와 동일한 경우가 많지만 항상 그런 것은 아닙니다.
- 승인자: 액세스 제안을 승인 (또는 거부)하는 사용자입니다. 일반적으로 문서의 소유자이거나 문서를 공유할 수 있는 권한이 있기 때문입니다.
대기 중인 액세스 제안 목록
Drive 항목의 모든 대기 중인 액세스 제안을 나열하려면 accessproposals
리소스에서 list()
메서드를 호출하고 fileId
경로 매개변수를 포함합니다.
파일의 승인자만 파일의 대기 중인 제안을 나열할 수 있습니다. 승인자는 파일에 대한 can_approve_access_proposals
기능이 있는 사용자입니다. 요청자가 승인자가 아니면 빈 목록이 반환됩니다. capabilities
에 관한 자세한 내용은 파일 기능 이해를 참고하세요.
응답 본문은 파일에 대한 미해결 액세스 제안 목록을 나타내는 AccessProposal
객체로 구성됩니다.
AccessProposal
객체에는 요청자, 수신자, 요청자가 추가한 메시지 등 각 제안에 관한 정보가 포함됩니다. 또한 요청자가 제안한 role
를 view
와 그룹화하는 AccessProposalRoleAndView
객체도 포함됩니다. role
은 반복 필드이므로 제안마다 여러 개가 있을 수 있습니다. 예를 들어 제안서에는 role=reader
및 view=published
의 AccessProposalRoleAndView
객체와 role=writer
값만 있는 추가 AccessProposalRoleAndView
객체가 있을 수 있습니다. 자세한 내용은 뷰를 참고하세요.
다음 쿼리 매개변수를 전달하여 액세스 제안의 페이지로 나누기를 맞춤설정하거나 액세스 제안을 필터링합니다.
pageToken
: 이전 목록 호출에서 수신된 페이지 토큰입니다. 후속 페이지를 가져오려면 이 토큰을 제공하세요.pageSize
: 페이지당 반환할 최대 액세스 제안 수입니다.
대기 중인 액세스 제안 해결
Drive 항목에서 대기 중인 모든 액세스 제안을 해결하려면 accessproposals
리소스에서 resolve()
메서드를 호출하고 fileId
및 proposalId
경로 매개변수를 포함합니다.
resolve()
메서드에는 제안에 대해 취할 조치를 나타내는 action
쿼리 매개변수가 포함되어 있습니다. Action
객체는 제안의 상태 변경을 추적하므로 수락 또는 거부 여부를 알 수 있습니다.
resolve()
메서드에는 role
및 view
의 선택적 쿼리 매개변수도 포함됩니다. 지원되는 역할은 writer
, commenter
, reader
뿐입니다. 역할을 지정하지 않으면 기본값은 reader
입니다. send_notification
의 추가 선택적 쿼리 매개변수를 사용하면 제안이 수락되거나 거부될 때 요청자에게 이메일 알림을 보낼 수 있습니다.
list()
메서드와 마찬가지로 제안을 해결하는 사용자에게는 파일에 대한 can_approve_access_proposals
기능이 있어야 합니다. capabilities
에 관한 자세한 내용은 파일 기능 이해를 참고하세요.
제안은 Drive 리소스 공유 시나리오에 나열된 동일한 패턴을 사용하여 해결됩니다. 동일한 사용자에게 여러 제안이 있지만 역할이 다른 경우 다음이 적용됩니다.
- 한 제안이 수락되고 다른 제안이 거부되면 수락된 역할이 Drive 항목에 적용됩니다.
- 두 제안이 동시에 수락되면 권한이 더 높은 제안 (예:
role=writer
대role=reader
)이 적용됩니다. 다른 액세스 제안이 항목에서 삭제됩니다.
resolve()
메서드에 제안을 전송하면 공유 작업이 완료됩니다. AccessProposal
이 더 이상 list()
메서드를 통해 반환되지 않습니다. 제안이 수락되면 사용자는 permissions
컬렉션을 사용하여 파일 또는 폴더의 권한을 업데이트해야 합니다. 자세한 내용은 권한 업데이트를 참고하세요.