Drive Service

Drive

이 서비스를 사용하면 스크립트가 Google Drive의 파일과 폴더를 만들고 찾고 수정할 수 있습니다.

스크립트에서 기본 Cloud 프로젝트 대신 표준 클라우드 프로젝트를 사용하는 경우 Drive API를 수동으로 사용 설정해야 합니다. 표준 Cloud 프로젝트에서 Drive API를 사용 설정합니다.

Drive API 사용 설정하기

다음 코드 샘플은 사용자의 내 드라이브 폴더에 각 파일의 이름을 기록하는 방법을 보여줍니다.
// Logs the name of every file in the user's Drive.
var files = DriveApp.getFiles();
while (files.hasNext()) {
  var file = files.next();
  console.log(file.getName());
}

클래스

이름간략한 설명
Access명시적으로 액세스 권한이 부여된 개별 사용자 외에 파일이나 폴더에 액세스할 수 있는 사용자 클래스를 나타내는 enum입니다.
DriveApp스크립트가 Google Drive의 파일 및 폴더를 생성, 검색, 수정하도록 허용합니다.
FileGoogle Drive의 파일입니다.
FileIterator스크립트가 잠재적으로 큰 파일 컬렉션을 반복할 수 있는 반복기입니다.
FolderGoogle Drive의 폴더
FolderIterator잠재적으로 큰 폴더 컬렉션에 대해 스크립트를 반복할 수 있는 객체입니다.
Permission명시적으로 액세스 권한이 부여된 개별 사용자 외에 파일이나 폴더에 액세스할 수 있는 사용자에게 부여된 권한을 나타내는 열거형입니다.
UserGoogle Drive의 파일과 연결된 사용자입니다.

Access

속성

속성유형설명
ANYONEEnum모든 인터넷 사용자가 찾아서 액세스할 수 있습니다.
ANYONE_WITH_LINKEnum링크가 있는 모든 사용자가 액세스할 수 있습니다.
DOMAINEnum도메인의 사용자가 찾아 액세스할 수 있습니다.
DOMAIN_WITH_LINKEnum링크가 있는 도메인 내 사용자가 액세스할 수 있습니다.
PRIVATEEnum명시적으로 권한이 부여된 사용자만 액세스할 수 있습니다.

DriveApp

속성

속성유형설명
AccessAccess명시적으로 액세스 권한이 부여된 개별 사용자 외에 파일이나 폴더에 액세스할 수 있는 사용자 클래스를 나타내는 enum입니다.
PermissionPermission명시적으로 액세스 권한이 부여된 개별 사용자 외에 파일이나 폴더에 액세스할 수 있는 사용자에게 부여된 권한을 나타내는 열거형입니다.

방법

메서드반환 유형간략한 설명
continueFileIterator(continuationToken)FileIterator이전 반복자의 연속 토큰을 사용하여 파일 반복을 재개합니다.
continueFolderIterator(continuationToken)FolderIterator이전 반복자의 연속 토큰을 사용하여 폴더 반복을 재개합니다.
createFile(blob)File지정된 임의의 데이터 Blob를 사용하여 사용자 Drive 루트에 파일을 만듭니다.
createFile(name, content)File지정된 이름과 콘텐츠로 사용자 Drive의 루트에 텍스트 파일을 만듭니다.
createFile(name, content, mimeType)File사용자 드라이브의 루트에 지정된 이름, 콘텐츠, MIME 유형으로 파일을 만듭니다.
createFolder(name)Folder사용자 Drive의 루트에 지정된 이름으로 폴더를 만듭니다.
createShortcut(targetId)File제공된 Drive 항목 ID의 바로가기를 만들어 반환합니다.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)File제공된 Drive 항목 ID 및 리소스 키의 바로가기를 만들어 반환합니다.
enforceSingleParent(value)void항목 상위 요소에 영향을 미치는 모든 호출에 대해 forceSingleParent 동작을 사용 설정하거나 중지합니다.
getFileById(id)File지정된 ID가 있는 파일을 가져옵니다.
getFileByIdAndResourceKey(id, resourceKey)File지정된 ID와 리소스 키가 있는 파일을 가져옵니다.
getFiles()FileIterator사용자 드라이브에 있는 모든 파일의 컬렉션을 가져옵니다.
getFilesByName(name)FileIterator사용자의 Drive에서 지정된 이름을 가진 모든 파일의 컬렉션을 가져옵니다.
getFilesByType(mimeType)FileIterator사용자의 Drive에서 지정된 MIME 유형을 가진 모든 파일의 컬렉션을 가져옵니다.
getFolderById(id)Folder지정된 ID가 있는 폴더를 가져옵니다.
getFolderByIdAndResourceKey(id, resourceKey)Folder지정된 ID와 리소스 키가 있는 폴더를 가져옵니다.
getFolders()FolderIterator사용자 드라이브에 있는 모든 폴더의 컬렉션을 가져옵니다.
getFoldersByName(name)FolderIterator사용자 Drive에서 특정 이름을 가진 모든 폴더의 컬렉션을 가져옵니다.
getRootFolder()Folder사용자 Drive의 루트에 있는 폴더를 가져옵니다.
getStorageLimit()Integer사용자가 Drive에 저장할 수 있는 바이트 수를 가져옵니다.
getStorageUsed()Integer사용자가 현재 Drive에 저장하고 있는 바이트 수를 가져옵니다.
getTrashedFiles()FileIterator사용자 Drive의 휴지통에 있는 모든 파일의 컬렉션을 가져옵니다.
getTrashedFolders()FolderIterator사용자 Drive의 휴지통에 있는 모든 폴더의 컬렉션을 가져옵니다.
searchFiles(params)FileIterator사용자의 드라이브에서 지정된 검색 기준과 일치하는 모든 파일의 컬렉션을 가져옵니다.
searchFolders(params)FolderIterator사용자의 드라이브에서 지정된 검색 기준과 일치하는 모든 폴더의 컬렉션을 가져옵니다.

File

방법

메서드반환 유형간략한 설명
addCommenter(emailAddress)File지정된 사용자를 File의 댓글 작성자 목록에 추가합니다.
addCommenter(user)File지정된 사용자를 File의 댓글 작성자 목록에 추가합니다.
addCommenters(emailAddresses)File지정된 사용자 배열을 File의 댓글 작성자 목록에 추가합니다.
addEditor(emailAddress)File지정된 사용자를 File의 편집자 목록에 추가합니다.
addEditor(user)File지정된 사용자를 File의 편집자 목록에 추가합니다.
addEditors(emailAddresses)File지정된 사용자 배열을 File의 편집자 목록에 추가합니다.
addViewer(emailAddress)File지정된 사용자를 File의 뷰어 목록에 추가합니다.
addViewer(user)File지정된 사용자를 File의 뷰어 목록에 추가합니다.
addViewers(emailAddresses)File지정된 사용자 배열을 File의 뷰어 목록에 추가합니다.
getAccess(email)Permission지정된 사용자에게 부여된 권한을 가져옵니다.
getAccess(user)Permission지정된 사용자에게 부여된 권한을 가져옵니다.
getAs(contentType)Blob이 객체 내의 데이터를 지정된 콘텐츠 유형으로 변환된 blob으로 반환합니다.
getBlob()Blob이 객체 내의 데이터를 blob으로 반환합니다.
getDateCreated()DateFile가 생성된 날짜를 가져옵니다.
getDescription()StringFile의 설명을 가져옵니다.
getDownloadUrl()String파일을 다운로드하는 데 사용할 수 있는 URL을 가져옵니다.
getEditors()User[]File의 편집자 목록을 가져옵니다.
getId()StringFile의 ID를 가져옵니다.
getLastUpdated()DateFile가 마지막으로 업데이트된 날짜를 가져옵니다.
getMimeType()String파일의 MIME 유형을 가져옵니다.
getName()StringFile의 이름을 가져옵니다.
getOwner()User파일 소유자를 가져옵니다.
getParents()FolderIteratorFile의 직계 상위 폴더 컬렉션을 가져옵니다.
getResourceKey()String링크를 사용하여 공유된 항목에 액세스하는 데 필요한 File의 리소스 키를 가져옵니다.
getSecurityUpdateEligible()Boolean링크를 사용하여 공유할 때 이 File에서 액세스를 위해 리소스 키가 필요한 보안 업데이트를 적용할 수 있는지 여부를 가져옵니다.
getSecurityUpdateEnabled()Boolean링크를 사용하여 공유할 때 이 File에 액세스를 위한 리소스 키가 필요한지 여부를 가져옵니다.
getSharingAccess()Access명시적으로 액세스 권한이 부여된 개별 사용자 외에 File에 액세스할 수 있는 사용자 클래스를 가져옵니다.
getSharingPermission()Permission명시적으로 액세스 권한이 부여된 개별 사용자 외에 File에 액세스할 수 있는 사용자에게 부여된 권한을 가져옵니다.
getSize()IntegerDrive에 File를 저장하는 데 사용되는 바이트 수를 가져옵니다.
getTargetId()String바로가기인 경우 가리키는 항목의 ID를 반환합니다.
getTargetMimeType()String바로가기인 경우 가리키는 항목의 MIME 유형을 반환합니다.
getTargetResourceKey()String파일이 바로가기인 경우 가리키는 항목의 리소스 키를 반환합니다.
getThumbnail()Blob파일의 미리보기 이미지를 가져오거나 null(썸네일이 없는 경우)을 가져옵니다.
getUrl()StringDrive 또는 Docs와 같은 Google 앱에서 File을 여는 데 사용할 수 있는 URL을 가져옵니다.
getViewers()User[]File의 뷰어 및 댓글 작성자 목록을 가져옵니다.
isShareableByEditors()BooleanFile에 대한 수정 권한이 있는 사용자가 다른 사용자와 공유하거나 권한을 변경할 수 있는지 여부를 결정합니다.
isStarred()BooleanFile가 사용자의 Drive에서 별표표시되었는지 확인합니다.
isTrashed()BooleanFile이(가) 사용자 Drive의 휴지통에 있는지 확인합니다.
makeCopy()File파일 사본을 만듭니다.
makeCopy(destination)File대상 디렉터리에 파일의 사본을 만듭니다.
makeCopy(name)File파일 사본을 만들고 제공된 이름으로 이름을 지정합니다.
makeCopy(name, destination)File대상 디렉터리에 파일 사본을 만들고 제공된 이름으로 이름을 지정합니다.
moveTo(destination)File이 항목을 제공된 대상 폴더로 이동합니다.
removeCommenter(emailAddress)File지정된 사용자를 File의 댓글 작성자 목록에서 삭제합니다.
removeCommenter(user)File지정된 사용자를 File의 댓글 작성자 목록에서 삭제합니다.
removeEditor(emailAddress)File지정된 사용자를 File의 편집자 목록에서 삭제합니다.
removeEditor(user)File지정된 사용자를 File의 편집자 목록에서 삭제합니다.
removeViewer(emailAddress)FileFile의 뷰어 및 댓글 작성자 목록에서 지정된 사용자를 삭제합니다.
removeViewer(user)FileFile의 뷰어 및 댓글 작성자 목록에서 지정된 사용자를 삭제합니다.
revokePermissions(emailAddress)File지정된 사용자에게 부여된 File에 대한 액세스 권한을 취소합니다.
revokePermissions(user)File지정된 사용자에게 부여된 File에 대한 액세스 권한을 취소합니다.
setContent(content)File지정된 대체 항목으로 파일의 콘텐츠를 덮어씁니다.
setDescription(description)FileFile의 설명을 설정합니다.
setName(name)FileFile의 이름을 설정합니다.
setOwner(emailAddress)FileFile의 소유자를 변경합니다.
setOwner(user)FileFile의 소유자를 변경합니다.
setSecurityUpdateEnabled(enabled)File링크를 사용하여 공유할 때 File에 액세스를 위한 리소스 키가 필요한지 여부를 설정합니다.
setShareableByEditors(shareable)FileFile에 대한 수정 권한이 있는 사용자가 다른 사용자와 공유하거나 권한을 변경할 수 있는지 여부를 설정합니다.
setSharing(accessType, permissionType)File명시적으로 액세스 권한이 부여된 개별 사용자 외에 File에 액세스할 수 있는 사용자 클래스와 해당 사용자에게 부여할 권한을 설정합니다.
setStarred(starred)File사용자의 Drive에서 File의 별표표시 여부를 설정합니다.
setTrashed(trashed)FileFile이(가) 사용자 Drive의 휴지통에 있는지 여부를 설정합니다.

FileIterator

방법

메서드반환 유형간략한 설명
getContinuationToken()String나중에 이 반복을 재개하는 데 사용할 수 있는 토큰을 가져옵니다.
hasNext()Booleannext()를 호출할 때 항목이 반환되는지 여부를 결정합니다.
next()File파일 또는 폴더 컬렉션의 다음 항목을 가져옵니다.

Folder

방법

메서드반환 유형간략한 설명
addEditor(emailAddress)Folder지정된 사용자를 Folder의 편집자 목록에 추가합니다.
addEditor(user)Folder지정된 사용자를 Folder의 편집자 목록에 추가합니다.
addEditors(emailAddresses)Folder지정된 사용자 배열을 Folder의 편집자 목록에 추가합니다.
addViewer(emailAddress)Folder지정된 사용자를 Folder의 뷰어 목록에 추가합니다.
addViewer(user)Folder지정된 사용자를 Folder의 뷰어 목록에 추가합니다.
addViewers(emailAddresses)Folder지정된 사용자 배열을 Folder의 뷰어 목록에 추가합니다.
createFile(blob)File지정된 임의의 데이터 Blob에서 현재 폴더에 파일을 만듭니다.
createFile(name, content)File현재 폴더에 지정된 이름과 콘텐츠로 텍스트 파일을 만듭니다.
createFile(name, content, mimeType)File현재 폴더에 지정된 이름, 콘텐츠, MIME 유형으로 파일을 만듭니다.
createFolder(name)Folder현재 폴더에 지정된 이름으로 폴더를 만듭니다.
createShortcut(targetId)File제공된 Drive 항목 ID의 바로가기를 만들어 반환합니다.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)File제공된 Drive 항목 ID 및 리소스 키의 바로가기를 만들어 반환합니다.
getAccess(email)Permission지정된 사용자에게 부여된 권한을 가져옵니다.
getAccess(user)Permission지정된 사용자에게 부여된 권한을 가져옵니다.
getDateCreated()DateFolder가 생성된 날짜를 가져옵니다.
getDescription()StringFolder의 설명을 가져옵니다.
getEditors()User[]Folder의 편집자 목록을 가져옵니다.
getFiles()FileIterator현재 폴더의 하위 요소인 모든 파일의 컬렉션을 가져옵니다.
getFilesByName(name)FileIterator현재 폴더의 하위 항목이며 지정된 이름을 가진 모든 파일의 컬렉션을 가져옵니다.
getFilesByType(mimeType)FileIterator현재 폴더의 하위 항목이며 지정된 MIME 유형을 가진 모든 파일의 컬렉션을 가져옵니다.
getFolders()FolderIterator현재 폴더의 하위 폴더인 모든 폴더의 컬렉션을 가져옵니다.
getFoldersByName(name)FolderIterator현재 폴더의 하위 폴더이고 지정된 이름을 가진 모든 폴더의 컬렉션을 가져옵니다.
getId()StringFolder의 ID를 가져옵니다.
getLastUpdated()DateFolder가 마지막으로 업데이트된 날짜를 가져옵니다.
getName()StringFolder의 이름을 가져옵니다.
getOwner()UserFolder의 소유자를 가져옵니다.
getParents()FolderIteratorFolder의 직계 상위 폴더 컬렉션을 가져옵니다.
getResourceKey()String링크를 사용하여 공유된 항목에 액세스하는 데 필요한 Folder의 리소스 키를 가져옵니다.
getSecurityUpdateEligible()Boolean링크를 사용하여 공유할 때 이 Folder에서 액세스를 위해 리소스 키가 필요한 보안 업데이트를 적용할 수 있는지 여부를 가져옵니다.
getSecurityUpdateEnabled()Boolean링크를 사용하여 공유할 때 이 Folder에 액세스를 위한 리소스 키가 필요한지 여부를 가져옵니다.
getSharingAccess()Access명시적으로 액세스 권한이 부여된 개별 사용자 외에 Folder에 액세스할 수 있는 사용자 클래스를 가져옵니다.
getSharingPermission()Permission명시적으로 액세스 권한이 부여된 개별 사용자 외에 Folder에 액세스할 수 있는 사용자에게 부여된 권한을 가져옵니다.
getSize()IntegerDrive에 Folder를 저장하는 데 사용되는 바이트 수를 가져옵니다.
getUrl()StringDrive 또는 Docs와 같은 Google 앱에서 Folder을 여는 데 사용할 수 있는 URL을 가져옵니다.
getViewers()User[]Folder의 뷰어 및 댓글 작성자 목록을 가져옵니다.
isShareableByEditors()BooleanFolder에 대한 수정 권한이 있는 사용자가 다른 사용자와 공유하거나 권한을 변경할 수 있는지 여부를 결정합니다.
isStarred()BooleanFolder가 사용자의 Drive에서 별표표시되었는지 확인합니다.
isTrashed()BooleanFolder이(가) 사용자 Drive의 휴지통에 있는지 확인합니다.
moveTo(destination)Folder이 항목을 제공된 대상 폴더로 이동합니다.
removeEditor(emailAddress)Folder지정된 사용자를 Folder의 편집자 목록에서 삭제합니다.
removeEditor(user)Folder지정된 사용자를 Folder의 편집자 목록에서 삭제합니다.
removeViewer(emailAddress)FolderFolder의 뷰어 및 댓글 작성자 목록에서 지정된 사용자를 삭제합니다.
removeViewer(user)FolderFolder의 뷰어 및 댓글 작성자 목록에서 지정된 사용자를 삭제합니다.
revokePermissions(emailAddress)Folder지정된 사용자에게 부여된 Folder에 대한 액세스 권한을 취소합니다.
revokePermissions(user)Folder지정된 사용자에게 부여된 Folder에 대한 액세스 권한을 취소합니다.
searchFiles(params)FileIterator현재 폴더의 하위 요소이고 지정된 검색 기준과 일치하는 모든 파일의 컬렉션을 가져옵니다.
searchFolders(params)FolderIterator현재 폴더의 하위 항목이며 지정된 검색 기준과 일치하는 모든 폴더의 컬렉션을 가져옵니다.
setDescription(description)FolderFolder의 설명을 설정합니다.
setName(name)FolderFolder의 이름을 설정합니다.
setOwner(emailAddress)FolderFolder의 소유자를 변경합니다.
setOwner(user)FolderFolder의 소유자를 변경합니다.
setSecurityUpdateEnabled(enabled)Folder링크를 사용하여 공유할 때 Folder에 액세스를 위한 리소스 키가 필요한지 여부를 설정합니다.
setShareableByEditors(shareable)FolderFolder에 대한 수정 권한이 있는 사용자가 다른 사용자와 공유하거나 권한을 변경할 수 있는지 여부를 설정합니다.
setSharing(accessType, permissionType)Folder명시적으로 액세스 권한이 부여된 개별 사용자 외에 Folder에 액세스할 수 있는 사용자 클래스와 해당 사용자에게 부여할 권한을 설정합니다.
setStarred(starred)Folder사용자의 Drive에서 Folder의 별표표시 여부를 설정합니다.
setTrashed(trashed)FolderFolder이(가) 사용자 Drive의 휴지통에 있는지 여부를 설정합니다.

FolderIterator

방법

메서드반환 유형간략한 설명
getContinuationToken()String나중에 이 반복을 재개하는 데 사용할 수 있는 토큰을 가져옵니다.
hasNext()Booleannext()를 호출할 때 항목이 반환되는지 여부를 결정합니다.
next()Folder파일 또는 폴더 컬렉션의 다음 항목을 가져옵니다.

Permission

속성

속성유형설명
VIEWEnum파일 또는 폴더에 액세스할 수 있는 사용자는 보거나 복사할 수만 있습니다.
EDITEnum파일 또는 폴더에 액세스할 수 있는 사용자는 이를 수정할 수 있습니다.
COMMENTEnum파일 또는 폴더에 액세스할 수 있는 사용자는 파일을 보거나 복사하거나 댓글을 쓸 수만 있습니다.
OWNEREnum사용자가 파일 또는 폴더를 소유합니다.
ORGANIZEREnum공유 드라이브 내에서 파일 및 폴더를 정리할 수 있는 사용자입니다.
FILE_ORGANIZEREnum공유 드라이브 내에서 콘텐츠를 수정하고 휴지통으로 이동하거나 이동할 수 있는 사용자
NONEEnum사용자에게 파일 또는 폴더에 대한 권한이 없습니다.

User

방법

메서드반환 유형간략한 설명
getDomain()String사용자 계정과 연결된 도메인 이름을 가져옵니다.
getEmail()String사용자의 이메일 주소를 가져옵니다.
getName()String사용자 이름을 가져옵니다.
getPhotoUrl()String사용자 사진의 URL을 가져옵니다.