이 가이드에는 Google Drive API를 사용하여 공유 드라이브를 만들고, 구성원과 권한을 관리하는 등 공유 드라이브 관리에 관련된 작업이 포함되어 있습니다.
응답에서 반환할 필드를 지정하려면 drives
리소스의 메서드를 사용하여 fields
시스템 매개변수를 설정하면 됩니다. fields
매개변수를 지정하지 않으면 서버는 메서드에 특정한 기본 필드 집합을 반환합니다. 예를 들어 list
메서드는 각 공유 드라이브에 대해 kind
, id
, name
필드만 반환합니다. 자세한 내용은 특정 필드 반환을 참고하세요.
공유 드라이브 폴더 한도에 대해 자세히 알아보려면 공유 드라이브 폴더 한도를 참고하세요.
공유 드라이브 만들기
공유 드라이브를 만들려면 requestId
매개변수와 함께 drives
리소스에서 create
메서드를 사용합니다.
requestId
매개변수는 공유 드라이브의 동일한 생성을 위한 논리적 시도를 식별합니다. 요청 시간이 초과되거나 불확실한 백엔드 오류가 반환되는 경우 동일한 요청을 반복할 수 있으며 중복이 생성되지 않습니다. requestId
및 요청 본문은 동일하게 유지해야 합니다.
다음 코드 샘플은 공유 드라이브를 만드는 방법을 보여줍니다.
자바
Python
Node.js
PHP
.NET
create
메서드 호출은 멱등입니다.
이전 요청에서 또는 재시도로 공유 드라이브가 성공적으로 생성된 경우 메서드는 drives
리소스의 인스턴스를 반환합니다. 오랜 시간이 지난 후 또는 요청 본문이 변경된 경우와 같이 requestId
을 폐기해야 함을 나타내는 409
오류가 반환될 수 있습니다.
공유 드라이브 가져오기
공유 드라이브의 메타데이터를 가져오려면 driveId
경로 매개변수와 함께 drives
리소스에서 get
메서드를 사용합니다. 드라이브 ID를 모르는 경우 list
메서드를 사용하여 모든 공유 드라이브를 나열할 수 있습니다.
get
메서드는 공유 드라이브를 drives
리소스의 인스턴스로 반환합니다.
도메인 관리자로 요청을 실행하려면 useDomainAdminAccess
쿼리 매개변수를 true
로 설정합니다. 자세한 내용은 도메인 관리자로 공유 드라이브 관리하기를 참고하세요.
공유 드라이브 목록
사용자의 공유 드라이브를 나열하려면 drives
리소스에서 list
메서드를 사용합니다. 이 메서드는 공유 드라이브 목록을 반환합니다.
다음 쿼리 매개변수를 전달하여 공유 드라이브의 페이지로 나누기를 맞춤설정하거나 공유 드라이브를 필터링합니다.
pageSize
: 페이지당 반환할 최대 공유 드라이브 수입니다.pageToken
: 이전 목록 호출에서 수신된 페이지 토큰입니다. 후속 페이지를 가져오려면 이 토큰을 제공하세요.q
: 공유 드라이브 검색을 위한 쿼리 문자열입니다. 자세한 내용은 공유 드라이브 검색하기를 참고하세요.useDomainAdminAccess
: 요청자가 관리자인 도메인의 모든 공유 드라이브를 반환하기 위해 도메인 관리자로 요청을 실행하려면true
로 설정합니다. 자세한 내용은 도메인 관리자가 공유 드라이브 관리하기를 참고하세요.
공유 드라이브 업데이트
공유 드라이브의 메타데이터를 업데이트하려면 driveId
경로 매개변수와 함께 drives
리소스에서 update
메서드를 사용합니다.
이 메서드는 공유 드라이브를 drives
리소스의 인스턴스로 반환합니다.
도메인 관리자로 요청을 실행하려면 useDomainAdminAccess
쿼리 매개변수를 true
로 설정합니다. 자세한 내용은 도메인 관리자로 공유 드라이브 관리하기를 참고하세요.
공유 드라이브 숨기기 및 숨기기 해제하기
기본 보기에서 공유 드라이브를 숨기려면 driveId
매개변수와 함께 drives
리소스에서 hide
메서드를 사용합니다.
공유 드라이브가 숨겨지면 드라이브에서 공유 드라이브 리소스를 hidden=true
로 표시합니다. 숨겨진 공유 드라이브는 Drive UI 또는 반환된 파일 목록에 표시되지 않습니다.
공유 드라이브를 기본 보기로 복원하려면 driveId
매개변수를 사용하여 drives
리소스에서 unhide
메서드를 사용합니다.
두 메서드 모두 공유 드라이브를 drives
리소스의 인스턴스로 반환합니다.
공유 드라이브 삭제하기
공유 드라이브를 영구적으로 삭제하려면 driveId
매개변수를 사용하여 drives
리소스에서 delete
메서드를 사용합니다.
공유 드라이브를 삭제하기 전에 공유 드라이브의 모든 콘텐츠를 휴지통으로 이동하거나 삭제해야 합니다. 사용자에게 공유 드라이브 폴더에 대한 role=organizer
권한도 있어야 합니다. 자세한 내용은 파일 및 폴더 휴지통에 넣기 또는 삭제하기를 참고하세요.
다음 쿼리 매개변수를 전달하여 공유 드라이브를 필터링합니다.
useDomainAdminAccess
: 요청자가 관리자인 도메인의 모든 공유 드라이브를 반환하기 위해 도메인 관리자로 요청을 실행하려면true
로 설정합니다. 자세한 내용은 도메인 관리자가 공유 드라이브 관리하기를 참고하세요.allowItemDeletion
: 공유 드라이브 내 항목을 삭제하려면true
로 설정합니다.useDomainAdminAccess
도true
로 설정된 경우에만 지원됩니다.
공유 드라이브 멤버 추가 또는 삭제하기
permissions
리소스를 사용하여 공유 드라이브 멤버를 추가하거나 삭제합니다.
멤버를 추가하려면 공유 드라이브에 권한을 만드세요. 권한 부여 방법은 공유 드라이브 내 개별 파일에도 사용하여 멤버에게 추가 권한을 부여하거나 멤버가 아닌 사용자가 특정 항목에 대해 공동작업하도록 허용할 수 있습니다.
자세한 내용과 샘플 코드는 파일, 폴더, 드라이브 공유하기를 참고하세요.
도메인 관리자가 공유 드라이브 관리하기
drives
및 permissions
리소스와 함께 useDomainAdminAccess
매개변수를 적용하여 조직 전체의 공유 드라이브를 관리합니다.
useDomainAdminAccess=true
로 이러한 메서드를 호출하는 사용자에게는 Drive and Docs
관리자 권한이 있어야 합니다.
관리자는 특정 공유 드라이브의 멤버십과 관계없이 공유 드라이브를 검색하거나 조직 소유 공유 드라이브의 권한을 업데이트할 수 있습니다.
서비스 계정을 사용하는 경우 서비스 계정 가장을 사용하여 인증된 관리자를 가장해야 할 수 있습니다. 서비스 계정은 사용자 계정과 달리 Google Workspace 도메인에 속하지 않습니다. 문서 또는 이벤트와 같은 Google Workspace 애셋을 전체 Google Workspace 도메인과 공유할 경우 서비스 계정과 공유되지 않습니다. 자세한 내용은 서비스 계정 개요를 참고하세요.
조직자가 없는 공유 드라이브 복구하기
다음 코드 샘플은 관리자가 더 이상 없는 공유 드라이브를 복구하는 방법을 보여줍니다.
자바
Python
Node.js
PHP
.NET
사용자가 파일을 다운로드, 인쇄, 복사하지 못하도록 차단하기
사용자가 공유 드라이브 내에서 파일을 다운로드, 인쇄, 복사하는 방법을 제한할 수 있습니다.
사용자가 공유 드라이브의 주최자가 적용한 다운로드 제한을 변경할 수 있는지 확인하려면 capabilities.canChangeDownloadRestriction
불리언 필드를 확인하세요. capabilities.canChangeDownloadRestriction
이 true
로 설정된 경우 다운로드 제한이 공유 드라이브에 적용될 수 있습니다. 자세한 내용은 파일 기능 이해를 참고하세요.
drives
리소스에는 공유 드라이브에서 작업을 실행할 수 있는지 여부를 나타내는 불리언 restrictions
필드 모음이 포함되어 있습니다.
제한사항은 공유 드라이브 또는 공유 드라이브 내 항목에 적용됩니다.
drives.update
메서드를 사용하여 제한사항을 설정할 수 있습니다.
공유 드라이브에 다운로드 제한을 적용하려면 공유 드라이브 관리자가 DownloadRestriction
객체를 사용하여 drives
리소스의 restrictions.downloadRestriction
필드를 설정하면 됩니다.
restrictedForReaders
불리언 필드를 true
로 설정하면 독자의 다운로드와 복사가 모두 제한된다고 선언됩니다. restrictedForWriters
불리언 필드를 true
로 설정하면 작성자의 다운로드와 복사가 모두 제한됩니다. restrictedForWriters
필드가 true
인 경우 독자의 다운로드 및 복사도 제한됩니다. 마찬가지로 restrictedForWriters
을 true
로 설정하고 restrictedForReaders
을 false
로 설정하는 것은 restrictedForWriters
과 restrictedForReaders
을 모두 true
로 설정하는 것과 같습니다.
이전 버전과의 호환성
DownloadRestriction
객체가 도입됨에 따라 restrictions.copyRequiresWriterPermission
불리언 필드의 기능이 업데이트되었습니다.
이제 restrictions.copyRequiresWriterPermission
를 true
로 설정하면 DownloadRestriction
객체의 restrictedForReaders
불리언 필드가 true
로 업데이트되어 독자의 다운로드와 복사가 모두 제한됨을 선언합니다.
copyRequiresWriterPermission
필드를 false
로 설정하면 restrictedForWriters
및 restrictedForReaders
필드가 모두 false
로 업데이트됩니다. 즉, 모든 사용자에 대해 다운로드 또는 복사 제한 설정이 삭제됩니다.
다운로드, 인쇄, 복사 기능을 제어하는 필드
다음 표에는 다운로드, 인쇄, 복사 기능에 영향을 미치는 drives
리소스 필드가 나와 있습니다.
필드 | 설명 | 버전 |
---|---|---|
capabilities.canCopy |
현재 사용자가 공유 드라이브의 파일을 복사할 수 있는지 여부입니다. | v2 및 v3 |
capabilities.canDownload |
현재 사용자가 공유 드라이브의 파일을 다운로드할 수 있는지 여부입니다. | v2 및 v3 |
capabilities.canChangeCopyRequiresWriterPermission |
현재 사용자가 공유 드라이브의 copyRequiresWriterPermission 제한을 변경할 수 있는지 여부입니다. |
v2 및 v3 |
capabilities.canResetDriveRestrictions |
현재 사용자가 공유 드라이브 제한을 기본값으로 재설정할 수 있는지 여부입니다. | v2 및 v3 |
capabilities.canChangeDownloadRestriction |
현재 사용자가 공유 드라이브의 다운로드 제한을 변경할 수 있는지 여부입니다. | v3만 해당 |
restrictions.copyRequiresWriterPermission |
읽기 권한 사용자 및 댓글 작성자의 공유 드라이브 내 파일 복사, 인쇄 또는 다운로드 옵션이 사용 중지되었는지 여부입니다. true 인 경우 이 공유 드라이브 내의 모든 파일에 대해 이름이 비슷한 필드가 true 로 설정됩니다. |
v2 및 v3 |
restrictions.downloadRestriction |
공유 드라이브 관리자가 적용한 다운로드 제한입니다. | v3만 해당 |
폴더 제한사항
공유 드라이브 폴더에는 몇 가지 저장용량 한도가 있습니다. 자세한 내용은 Google Drive의 공유 드라이브 한도를 참고하세요.
항목 한도
각 사용자의 공유 드라이브에는 파일, 폴더, 바로가기를 포함하여 최대 500,000개의 항목을 추가할 수 있습니다.
한도에 도달하면 공유 드라이브에서 더 이상 항목을 수락할 수 없습니다. 파일 수신을 재개하려면 사용자가 공유 드라이브에서 항목을 완전히 삭제해야 합니다. 휴지통에 있는 항목은 한도에 포함되지만 완전히 삭제된 항목은 포함되지 않습니다. 자세한 내용은 파일 및 폴더 휴지통에 넣기 또는 삭제하기를 참고하세요.
폴더 깊이 한도
공유 드라이브의 폴더는 최대 100단계의 중첩 폴더를 지원합니다. 즉, 하위 폴더는 99단계를 초과하는 폴더 아래에 저장할 수 없습니다. 이 제한은 하위 폴더에만 적용됩니다.
100개 이상의 폴더 수준을 추가하려고 하면 teamDriveHierarchyTooDeep
HTTP 상태 코드 응답이 반환됩니다.