이 가이드에는 Google Drive API를 사용하여 공유 드라이브를 만들고 멤버와 권한을 관리하는 등 공유 드라이브 관리에 관련된 작업이 포함되어 있습니다.
응답에서 반환할 필드를 지정하려면
fields 시스템
매개변수를 drives 리소스의 메서드를 사용하여 설정하면 됩니다. fields 매개변수를 지정하지 않으면 서버는 메서드에 특정한 기본 필드 집합을 반환합니다. 예를 들어
list 메서드는 각 공유 드라이브의 kind, id,
및 name 필드만 반환합니다. 자세한 내용은 특정 필드 반환을 참고하세요.
공유 드라이브 폴더 한도에 대해 자세히 알아보려면 공유 드라이브 폴더 한도를 참고하세요.
공유 드라이브 만들기
공유 드라이브를 만들려면 create
메서드를 사용하여 drives 리소스의
requestId 매개변수를 사용합니다.
requestId 매개변수는 공유 드라이브의 멱등 생성에 대한 논리적 시도를 식별합니다. 요청 시간이 초과되거나 결정할 수 없는 백엔드 오류가 반환되면 동일한 요청을 반복할 수 있으며 중복이 생성되지 않습니다. 요청의 requestId 및 본문은 동일하게 유지되어야 합니다.
다음 코드 샘플은 공유 드라이브를 만드는 방법을 보여줍니다.
자바
Python
Node.js
PHP
.NET
create 메서드 호출은
멱등입니다.
이전 요청에서 또는 재시도로 인해 공유 드라이브가 성공적으로 생성된 경우 메서드는 drives 리소스의 인스턴스를 반환합니다. 장시간이 경과한 후 또는 요청 본문이 변경된 경우와 같이 requestId를 삭제해야 함을 나타내는 409 오류가 반환될 수 있습니다.
공유 드라이브 가져오기
공유 드라이브의 메타데이터를 가져오려면 driveId 경로 매개변수를 사용하여 drives 리소스의
get 메서드를 사용합니다. 드라이브 ID를 모르는 경우 모든 공유 드라이브를 나열하려면 list 메서드를 사용하면 됩니다.
get 메서드는 공유 드라이브를 drives 리소스의 인스턴스로 반환합니다.
도메인 관리자로 요청을 실행하려면 useDomainAdminAccess 쿼리 매개변수를 true로 설정합니다. 자세한 내용은 도메인 관리자로
공유 드라이브 관리를 참고하세요.
공유 드라이브 나열
사용자의 공유 드라이브를 나열하려면 list
메서드를 drives 리소스에 사용합니다. 이 메서드는 공유 드라이브 목록을 반환합니다.
다음 쿼리 매개변수를 전달하여 공유 드라이브의 페이지 나누기를 맞춤설정하거나 공유 드라이브를 필터링합니다.
pageSize: 페이지당 반환할 최대 공유 드라이브 수입니다.pageToken: 이전 목록 호출에서 받은 페이지 토큰입니다. 후속 페이지를 가져오려면 이 토큰을 제공하세요.q: 공유 드라이브 검색을 위한 쿼리 문자열입니다. 자세한 내용은 공유 드라이브 검색을 참고하세요.useDomainAdminAccess: 요청자가 관리자인 도메인의 모든 공유 드라이브를 반환하기 위해 도메인 관리자로 요청을 실행하려면true로 설정합니다. 자세한 내용은 도메인 관리자로 공유 드라이브 관리를 참고하세요.
공유 드라이브 업데이트
공유 드라이브의 메타데이터를 업데이트하려면 update 메서드를
drives 리소스의 driveId 경로
매개변수와 함께 사용합니다.
이 메서드는 공유 드라이브를 drives 리소스의 인스턴스로 반환합니다.
도메인 관리자로 요청을 실행하려면 useDomainAdminAccess 쿼리 매개변수를 true로 설정합니다. 자세한 내용은 도메인 관리자로
공유 드라이브 관리를 참고하세요.
공유 드라이브 숨기기 및 숨기기 해제
기본 뷰에서 공유 드라이브를 숨기려면 hide 매개변수를 사용하여
drives 리소스의 driveId 메서드를 사용합니다.
공유 드라이브가 숨겨지면 Drive는 공유 드라이브 리소스를 hidden=true로 표시합니다. 숨겨진 공유 드라이브는 Drive UI 또는 반환된 파일 목록에 표시되지 않습니다.
공유 드라이브를 기본 뷰로 복원하려면 unhide 메서드를 사용하여
drives 리소스의 driveId 매개변수를 사용합니다.
두 메서드는 공유 드라이브를 drives 리소스의 인스턴스로 반환합니다.
공유 드라이브 삭제
공유 드라이브를 영구적으로 삭제하려면
delete 매개변수를 사용하여 drives 리소스의 driveId 메서드를 사용합니다.
공유 드라이브를 삭제하기 전에 공유 드라이브의 모든 콘텐츠를 휴지통으로 이동하거나 삭제해야 합니다. 사용자는 공유 드라이브 폴더에 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 메서드를 사용하여 설정할 수 있습니다.
공유 드라이브에 다운로드 제한을 적용하려면 공유 드라이브 관리자가
restrictions.downloadRestriction 필드를 drives
리소스를 사용하여
DownloadRestriction 객체를 설정하면 됩니다.
restrictedForReaders 불리언 필드를 true로 설정하면 다운로드와 복사가 모두 읽기 권한이 있는 사용자에게 제한됨을 선언합니다. restrictedForWriters 불리언 필드를 true로 설정하면 다운로드와 복사가 모두 쓰기 권한이 있는 사용자에게 제한됨을 선언합니다. restrictedForWriters 필드가 true이면 읽기 권한이 있는 사용자에게도 다운로드와 복사가 제한됩니다. 마찬가지로 restrictedForWriters를 true로 설정하고 restrictedForReaders를 false로 설정하는 것은 restrictedForWriters와 restrictedForReaders를 모두 true로 설정하는 것과 같습니다.
이전 버전과의 호환성
DownloadRestriction 객체가 도입됨에 따라
restrictions.copyRequiresWriterPermission
불리언 필드의 기능이 업데이트되었습니다.
이제 restrictions.copyRequiresWriterPermission을 true로 설정하면
restrictedForReaders 불리언 필드가 DownloadRestriction 객체의 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 상태 코드 응답이 반환됩니다.