액세스 제안은 요청자가 승인자에게 수신자에게 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
컬렉션을 사용하여 파일 또는 폴더의 권한을 업데이트해야 합니다. 자세한 내용은 권한 업데이트를 참고하세요.