Drive Service

Drive

This service lets scripts create, find, and modify files and folders in Google Drive.

If your script uses a standard Cloud project instead of a default Cloud project, you must manually turn on the Drive API. In your standard Cloud project, turn on the Drive API:

Turn on the Drive API

The following code sample shows how to log the names of each file in the user's My Drive folder:
// 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());
}

Classes

NameBrief description
AccessAn enum representing classes of users who can access a file or folder, besides any individual users who have been explicitly given access.
DriveAppAllows scripts to create, find, and modify files and folders in Google Drive.
FileA file in Google Drive.
FileIteratorAn iterator that allows scripts to iterate over a potentially large collection of files.
FolderA folder in Google Drive.
FolderIteratorAn object that allows scripts to iterate over a potentially large collection of folders.
PermissionAn enum representing the permissions granted to users who can access a file or folder, besides any individual users who have been explicitly given access.
UserA user associated with a file in Google Drive.

Access

Properties

PropertyTypeDescription
ANYONEEnumAnyone on the Internet can find and access.
ANYONE_WITH_LINKEnumAnyone who has the link can access.
DOMAINEnumPeople in your domain can find and access.
DOMAIN_WITH_LINKEnumPeople in your domain who have the link can access.
PRIVATEEnumOnly people explicitly granted permission can access.

DriveApp

Properties

PropertyTypeDescription
AccessAccessAn enum representing classes of users who can access a file or folder, besides any individual users who have been explicitly given access.
PermissionPermissionAn enum representing the permissions granted to users who can access a file or folder, besides any individual users who have been explicitly given access.

Methods

MethodReturn typeBrief description
continueFileIterator(continuationToken)FileIteratorResumes a file iteration using a continuation token from a previous iterator.
continueFolderIterator(continuationToken)FolderIteratorResumes a folder iteration using a continuation token from a previous iterator.
createFile(blob)FileCreates a file in the root of the user's Drive from a given Blob of arbitrary data.
createFile(name, content)FileCreates a text file in the root of the user's Drive with the given name and contents.
createFile(name, content, mimeType)FileCreates a file in the root of the user's Drive with the given name, contents, and MIME type.
createFolder(name)FolderCreates a folder in the root of the user's Drive with the given name.
createShortcut(targetId)FileCreates a shortcut to the provided Drive item ID, and returns it.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)FileCreates a shortcut to the provided Drive item ID and resource key, and returns it.
enforceSingleParent(value)voidEnables or disables enforceSingleParent behavior for all calls affecting item parents.
getFileById(id)FileGets the file with the given ID.
getFileByIdAndResourceKey(id, resourceKey)FileGets the file with the given ID and resource key.
getFiles()FileIteratorGets a collection of all files in the user's Drive.
getFilesByName(name)FileIteratorGets a collection of all files in the user's Drive that have the given name.
getFilesByType(mimeType)FileIteratorGets a collection of all files in the user's Drive that have the given MIME type.
getFolderById(id)FolderGets the folder with the given ID.
getFolderByIdAndResourceKey(id, resourceKey)FolderGets the folder with the given ID and resource key.
getFolders()FolderIteratorGets a collection of all folders in the user's Drive.
getFoldersByName(name)FolderIteratorGets a collection of all folders in the user's Drive that have the given name.
getRootFolder()FolderGets the folder at the root of the user's Drive.
getStorageLimit()IntegerGets the number of bytes the user is allowed to store in Drive.
getStorageUsed()IntegerGets the number of bytes the user is currently storing in Drive.
getTrashedFiles()FileIteratorGets a collection of all the files in the trash of the user's Drive.
getTrashedFolders()FolderIteratorGets a collection of all the folders in the trash of the user's Drive.
searchFiles(params)FileIteratorGets a collection of all files in the user's Drive that match the given search criteria.
searchFolders(params)FolderIteratorGets a collection of all folders in the user's Drive that match the given search criteria.

File

Methods

MethodReturn typeBrief description
addCommenter(emailAddress)FileAdd the given user to the list of commenters for the File.
addCommenter(user)FileAdd the given user to the list of commenters for the File.
addCommenters(emailAddresses)FileAdd the given array of users to the list of commenters for the File.
addEditor(emailAddress)FileAdds the given user to the list of editors for the File.
addEditor(user)FileAdds the given user to the list of editors for the File.
addEditors(emailAddresses)FileAdds the given array of users to the list of editors for the File.
addViewer(emailAddress)FileAdds the given user to the list of viewers for the File.
addViewer(user)FileAdds the given user to the list of viewers for the File.
addViewers(emailAddresses)FileAdds the given array of users to the list of viewers for the File.
getAccess(email)PermissionGets the permission granted to the given user.
getAccess(user)PermissionGets the permission granted to the given user.
getAs(contentType)BlobReturn the data inside this object as a blob converted to the specified content type.
getBlob()BlobReturn the data inside this object as a blob.
getDateCreated()DateGets the date the File was created.
getDescription()StringGets the description for the File.
getDownloadUrl()StringGets the URL that can be used to download the file.
getEditors()User[]Gets the list of editors for this File.
getId()StringGets the ID of the File.
getLastUpdated()DateGets the date the File was last updated.
getMimeType()StringGets the MIME type of the file.
getName()StringGets the name of the File.
getOwner()UserGets the file owner.
getParents()FolderIteratorGets a collection of folders that are immediate parents of the File.
getResourceKey()StringGets the resource key of the File that is required to access items that have been shared using a link.
getSecurityUpdateEligible()BooleanGets whether this File is eligible to apply the security update that requires a resource key for access when it's shared using a link.
getSecurityUpdateEnabled()BooleanGets whether this File requires a resource key for access when it's shared using a link.
getSharingAccess()AccessGets which class of users can access the File, besides any individual users who have been explicitly given access.
getSharingPermission()PermissionGets the permission granted to those users who can access the File, besides any individual users who have been explicitly given access.
getSize()IntegerGets the number of bytes used to store the File in Drive.
getTargetId()StringIf this is a Shortcut, returns the ID of the item it points to.
getTargetMimeType()StringIf this is a Shortcut, returns the mime type of the item it points to.
getTargetResourceKey()StringIf the file is a shortcut, returns the resource key of the item it points to.
getThumbnail()BlobGets a thumbnail image for the file, or null if no thumbnail exists.
getUrl()StringGets the URL that can be used to open the File in a Google App like Drive or Docs.
getViewers()User[]Gets the list of viewers and commenters for this File.
isShareableByEditors()BooleanDetermines whether users with edit permissions to the File are allowed to share with other users or change the permissions.
isStarred()BooleanDetermines whether the File has been starred in the user's Drive.
isTrashed()BooleanDetermines whether the File is in the trash of the user's Drive.
makeCopy()FileCreates a copy of the file.
makeCopy(destination)FileCreates a copy of the file in the destination directory.
makeCopy(name)FileCreates a copy of the file and names it with the name provided.
makeCopy(name, destination)FileCreates a copy of the file in the destination directory and names it with the name provided.
moveTo(destination)FileMoves this item to the provided destination folder.
removeCommenter(emailAddress)FileRemoves the given user from the list of commenters for the File.
removeCommenter(user)FileRemoves the given user from the list of commenters for the File.
removeEditor(emailAddress)FileRemoves the given user from the list of editors for the File.
removeEditor(user)FileRemoves the given user from the list of editors for the File.
removeViewer(emailAddress)FileRemoves the given user from the list of viewers and commenters for the File.
removeViewer(user)FileRemoves the given user from the list of viewers and commenters for the File.
revokePermissions(emailAddress)FileRevokes the access to the File granted to the given user.
revokePermissions(user)FileRevokes the access to the File granted to the given user.
setContent(content)FileOverwrites the content of the file with a given replacement.
setDescription(description)FileSets the description for the File.
setName(name)FileSets the name of the File.
setOwner(emailAddress)FileChanges the owner of the File.
setOwner(user)FileChanges the owner of the File.
setSecurityUpdateEnabled(enabled)FileSets whether the File requires a resource key for access when it's shared using a link.
setShareableByEditors(shareable)FileSets whether users with edit permissions to the File are allowed to share with other users or change the permissions.
setSharing(accessType, permissionType)FileSets which class of users can access the File and what permissions those users are granted, besides any individual users who have been explicitly given access.
setStarred(starred)FileSets whether the File is starred in the user's Drive.
setTrashed(trashed)FileSets whether the File is in the trash of the user's Drive.

FileIterator

Methods

MethodReturn typeBrief description
getContinuationToken()StringGets a token that can be used to resume this iteration at a later time.
hasNext()BooleanDetermines whether calling next() will return an item.
next()FileGets the next item in the collection of files or folders.

Folder

Methods

MethodReturn typeBrief description
addEditor(emailAddress)FolderAdds the given user to the list of editors for the Folder.
addEditor(user)FolderAdds the given user to the list of editors for the Folder.
addEditors(emailAddresses)FolderAdds the given array of users to the list of editors for the Folder.
addViewer(emailAddress)FolderAdds the given user to the list of viewers for the Folder.
addViewer(user)FolderAdds the given user to the list of viewers for the Folder.
addViewers(emailAddresses)FolderAdds the given array of users to the list of viewers for the Folder.
createFile(blob)FileCreates a file in the current folder from a given Blob of arbitrary data.
createFile(name, content)FileCreates a text file in the current folder with the given name and contents.
createFile(name, content, mimeType)FileCreates a file in the current folder with the given name, contents, and MIME type.
createFolder(name)FolderCreates a folder in the current folder with the given name.
createShortcut(targetId)FileCreates a shortcut to the provided Drive item ID, and returns it.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)FileCreates a shortcut to the provided Drive item ID and resource key, and returns it.
getAccess(email)PermissionGets the permission granted to the given user.
getAccess(user)PermissionGets the permission granted to the given user.
getDateCreated()DateGets the date the Folder was created.
getDescription()StringGets the description for the Folder.
getEditors()User[]Gets the list of editors for this Folder.
getFiles()FileIteratorGets a collection of all files that are children of the current folder.
getFilesByName(name)FileIteratorGets a collection of all files that are children of the current folder and have the given name.
getFilesByType(mimeType)FileIteratorGets a collection of all files that are children of the current folder and have the given MIME type.
getFolders()FolderIteratorGets a collection of all folders that are children of the current folder.
getFoldersByName(name)FolderIteratorGets a collection of all folders that are children of the current folder and have the given name.
getId()StringGets the ID of the Folder.
getLastUpdated()DateGets the date the Folder was last updated.
getName()StringGets the name of the Folder.
getOwner()UserGets the owner of this Folder.
getParents()FolderIteratorGets a collection of folders that are immediate parents of the Folder.
getResourceKey()StringGets the resource key of the Folder that is required to access items that have been shared using a link.
getSecurityUpdateEligible()BooleanGets whether this Folder is eligible to apply the security update that requires a resource key for access when it's shared using a link.
getSecurityUpdateEnabled()BooleanGets whether this Folder requires a resource key for access when it's shared using a link.
getSharingAccess()AccessGets which class of users can access the Folder, besides any individual users who have been explicitly given access.
getSharingPermission()PermissionGets the permission granted to those users who can access the Folder, besides any individual users who have been explicitly given access.
getSize()IntegerGets the number of bytes used to store the Folder in Drive.
getUrl()StringGets the URL that can be used to open the Folder in a Google App like Drive or Docs.
getViewers()User[]Gets the list of viewers and commenters for this Folder.
isShareableByEditors()BooleanDetermines whether users with edit permissions to the Folder are allowed to share with other users or change the permissions.
isStarred()BooleanDetermines whether the Folder has been starred in the user's Drive.
isTrashed()BooleanDetermines whether the Folder is in the trash of the user's Drive.
moveTo(destination)FolderMoves this item to the provided destination folder.
removeEditor(emailAddress)FolderRemoves the given user from the list of editors for the Folder.
removeEditor(user)FolderRemoves the given user from the list of editors for the Folder.
removeViewer(emailAddress)FolderRemoves the given user from the list of viewers and commenters for the Folder.
removeViewer(user)FolderRemoves the given user from the list of viewers and commenters for the Folder.
revokePermissions(emailAddress)FolderRevokes the access to the Folder granted to the given user.
revokePermissions(user)FolderRevokes the access to the Folder granted to the given user.
searchFiles(params)FileIteratorGets a collection of all files that are children of the current folder and match the given search criteria.
searchFolders(params)FolderIteratorGets a collection of all folders that are children of the current folder and match the given search criteria.
setDescription(description)FolderSets the description for the Folder.
setName(name)FolderSets the name of the Folder.
setOwner(emailAddress)FolderChanges the owner of the Folder.
setOwner(user)FolderChanges the owner of the Folder.
setSecurityUpdateEnabled(enabled)FolderSets whether the Folder requires a resource key for access when it's shared using a link.
setShareableByEditors(shareable)FolderSets whether users with edit permissions to the Folder are allowed to share with other users or change the permissions.
setSharing(accessType, permissionType)FolderSets which class of users can access the Folder and what permissions those users are granted, besides any individual users who have been explicitly given access.
setStarred(starred)FolderSets whether the Folder is starred in the user's Drive.
setTrashed(trashed)FolderSets whether the Folder is in the trash of the user's Drive.

FolderIterator

Methods

MethodReturn typeBrief description
getContinuationToken()StringGets a token that can be used to resume this iteration at a later time.
hasNext()BooleanDetermines whether calling next() will return an item.
next()FolderGets the next item in the collection of files or folders.

Permission

Properties

PropertyTypeDescription
VIEWEnumUsers who can access the file or folder are able only to view it or copy it.
EDITEnumUsers who can access the file or folder are able to edit it.
COMMENTEnumUsers who can access the file or folder are able only to view it, copy it, or comment on it.
OWNEREnumThe user owns the file or folder.
ORGANIZEREnumUsers who can organize files and folders within a shared drive.
FILE_ORGANIZEREnumUsers who can edit, trash, and move content within a shared drive.
NONEEnumThe user does not have any permissions for the file or folder.

User

Methods

MethodReturn typeBrief description
getDomain()StringGets the domain name associated with the user's account.
getEmail()StringGets the user's email address.
getName()StringGets the user's name.
getPhotoUrl()StringGets the URL for the user's photo.