폴더 는 메타데이터만 포함하는 파일로, Google Drive에서 파일을 정리하는 데 사용할 수 있습니다. 폴더에는 다음과 같은 속성이 있습니다.
- 폴더는 MIME 유형
application/vnd.google-apps.folder인 파일이며 확장자가 없습니다. - 파일 ID가 제공되는 모든 위치에서
root별칭을 사용하여 루트 폴더를 참조할 수 있습니다.
Drive 폴더 한도에 대한 자세한 내용은 파일 및 폴더 한도를 참고하세요.
이 가이드에서는 몇 가지 기본적인 폴더 관련 작업을 실행하는 방법을 설명합니다.
폴더 만들기
폴더를 만들려면 files.create()
메서드를 mimeType이 application/vnd.google-apps.folder이고 name이 있는 상태로 사용합니다.
다음 코드 샘플은 클라이언트 라이브러리를 사용하여 폴더를 만드는 방법을 보여줍니다.
자바
Python
Node.js
PHP
.NET
curl
curl -X POST 'https://www.googleapis.com/drive/v3/files' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "FOLDER_NAME",
"mimeType": "application/vnd.google-apps.folder"
}'
다음을 바꿉니다.
- ACCESS_TOKEN: 앱의 OAuth 2.0 토큰입니다.
- FOLDER_NAME: 만들 폴더의 이름입니다.
특정 폴더에 파일 만들기
특정 폴더에 파일을 만들려면 files.create() 메서드를 사용하고 파일의
parents 속성에 폴더 ID를 지정합니다.
parents 속성은 파일이 포함된 상위 폴더의 ID를 보유합니다.
parents 속성은 최상위 폴더 또는 다른 폴더에서 파일을 만들 때 사용할 수 있습니다.
파일에는 상위 폴더가 하나만 있을 수 있습니다. 여러 상위 폴더를 지정하는 것은 지원되지 않습니다. parents 필드가 지정되지 않은 경우 파일은 사용자의 내 드라이브 폴더에 직접 배치됩니다.
다음 코드 샘플은 클라이언트 라이브러리를 사용하여 특정 폴더에 파일을 만드는 방법을 보여줍니다.
자바
Python
Node.js
PHP
.NET
curl
curl -X POST 'https://www.googleapis.com/drive/v3/files' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "photo.jpg",
"parents": [
"FOLDER_ID"
]
}'
다음을 바꿉니다.
- ACCESS_TOKEN: 앱의 OAuth 2.0 토큰입니다.
- FOLDER_ID: 파일을 만들 폴더의 ID입니다.
폴더 간에 파일 이동
파일을 이동하려면 parents 속성의 ID를 업데이트해야 합니다.
기존 파일의 상위 폴더를 추가하거나 삭제하려면 files.update() 메서드를 addParents 또는
removeParents 쿼리 매개변수와 함께 사용합니다.
파일에는 상위 폴더가 하나만 있을 수 있습니다. 여러 상위 폴더를 지정하는 것은 지원되지 않습니다.
을 참고하세요.다음 코드 샘플은 클라이언트 라이브러리를 사용하여 폴더 간에 파일을 이동하는 방법을 보여줍니다.
자바
Python
Node.js
PHP
.NET
curl
curl -X PATCH 'https://www.googleapis.com/drive/v3/files/FILE_ID?addParents=NEW_PARENT_ID&removeParents=PREVIOUS_PARENT_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Accept: application/json'
다음을 바꿉니다.
- FILE_ID: 이동할 파일의 ID입니다.
- NEW_PARENT_ID: 파일을 이동할 폴더의 ID입니다.
- PREVIOUS_PARENT_ID: 파일이 삭제될 상위 폴더의 쉼표로 구분된 목록입니다.
- ACCESS_TOKEN: 앱의 OAuth 2.0 토큰입니다.
파일 및 폴더 한도
Drive 파일 및 폴더에는 몇 가지 저장용량 한도가 있습니다.
사용자 항목 한도
각 사용자는 해당 계정으로 만든 항목을 최대 5억 개까지 보유할 수 있습니다. 한도에 도달하면 사용자는 더 이상 Drive에서 항목을 만들거나 업로드할 수 없습니다. 기존 항목은 계속 보고 수정할 수 있습니다. 파일을 다시 만들려면 항목을 완전히 삭제하거나 다른 계정을 사용해야 합니다. 자세한 내용은 파일 및 폴더 휴지통에 보관 또는 삭제를 참고하세요.
이 한도에 포함되는 객체는 다음과 같습니다.
- 사용자가 Drive에서 만들거나 업로드한 항목
- 사용자가 만들었지만 이제 다른 사용자가 소유한 항목
- 휴지통에 있는 항목
- 단축키
- 서드 파티 단축키
이 한도에 포함되지 않는 객체는 다음과 같습니다.
- 완전히 삭제된 항목
- 사용자와 공유되었지만 다른 사용자가 소유한 항목
- 사용자가 소유했지만 다른 사용자가 만든 항목
5억 개 이상의 항목을 추가하려고 하면
activeItemCreationLimitExceeded
HTTP 상태 코드 응답이 반환됩니다.
서비스 계정은 파일을 소유할 수 없습니다. 대신 파일을 공유 드라이브에 업로드하거나 OAuth 2.0을 사용하여 사용자를 대신해 항목을 업로드해야 합니다.
폴더 항목 한도
사용자의 내 드라이브에 있는 각 폴더에는 항목 한도가 500,000개입니다. 이 한도는 내 드라이브의 루트 폴더에는 적용되지 않습니다. 이 한도에 포함되는 항목은 다음과 같습니다.
- 폴더
- 파일 파일 소유권과 관계없이 모든 파일 형식
- 단축키. 단축키가 가리키는 항목이 폴더 내에 없더라도 폴더 내에서 단일 항목으로 계산됩니다. 자세한 내용은 Drive 파일의 단축키 만들기를 참고하세요.
- 서드 파티 단축키. 단축키가 가리키는 항목이 폴더 내에 없더라도 폴더 내에서 단일 항목으로 계산됩니다. 자세한 내용은 앱에서 저장한 콘텐츠의 단축키 파일 만들기를 참고하세요.
폴더 한도에 대한 자세한 내용은 Google Drive의 폴더 한도를 참고하세요.
폴더 깊이 한도
사용자의 내 드라이브에는 중첩된 폴더 수준을 100개 이상 포함할 수 없습니다. 즉, 하위 폴더는 99개 이상의 수준으로 깊은 폴더 아래에 저장할 수 없습니다. 이 제한은 하위 폴더에만 적용됩니다. MIME 유형이 가 아닌 하위
파일은 이 제한에서 제외됩니다.
application/vnd.google-apps.folder
예를 들어 다음 다이어그램에서 새 폴더는 폴더 번호 99 내에 중첩될 수 있지만 폴더 번호 100 내에는 중첩될 수 없습니다. 하지만 폴더 번호 100은 다른 Drive 폴더와 마찬가지로 파일을 저장할 수 있습니다.
100개 이상의 폴더 수준을 추가하려고 하면
myDriveHierarchyDepthLimitExceeded
HTTP 상태 코드 응답이 반환됩니다.