Stay organized with collections Save and categorize content based on your preferences.
Drive
This service lets scripts create, find, and modify files and folders in Google Drive. Although the built-in Drive service is easier to use, it has some limitations. For the most up-to-date features and support, and to access files or folders in shared drives, use the advanced Drive service.
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:
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());
}
Note: Google Workspace Administrators can turn off the Drive SDK for their domain, which prevents their users from installing and using Google Drive apps. This setting also prevents users from using Apps Script scripts, web apps and add-ons that use the Drive service or Advanced Drive Service (even if the add-on or web app was installed before the admin turned off the Drive SDK).
However, if an add-on using the Drive service is published for domain-wide installation and is installed by the administrator for some or all users in the domain, or any script that has its OAuth client allowlisted by the domain administrator, the add-on functions for those users even if the Drive SDK is turned off in the domain.
Classes Name Brief descriptionAccess
An enum representing classes of users who can access a file or folder, besides any individual users who have been explicitly given access. DriveApp
Allows scripts to create, find, and modify files and folders in Google Drive. File
A file in Google Drive. FileIterator
An iterator that allows scripts to iterate over a potentially large collection of files. Folder
A folder in Google Drive. FolderIterator
An object that allows scripts to iterate over a potentially large collection of folders. Permission
An enum representing the permissions granted to users who can access a file or folder, besides any individual users who have been explicitly given access. User
A user associated with a file in Google Drive. Access
Properties Property Type Description ANYONE
Enum
Anyone on the Internet can find and access. ANYONE_WITH_LINK
Enum
Anyone who has the link can access. DOMAIN
Enum
People in your domain can find and access. DOMAIN_WITH_LINK
Enum
People in your domain who have the link can access. PRIVATE
Enum
Only people explicitly granted permission can access. DriveApp
Properties Property Type Description Access
Access
An enum representing classes of users who can access a file or folder, besides any individual users who have been explicitly given access. Permission
Permission
An 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 Method Return type Brief description continueFileIterator(continuationToken)
FileIterator
Resumes a file iteration using a continuation token from a previous iterator. continueFolderIterator(continuationToken)
FolderIterator
Resumes a folder iteration using a continuation token from a previous iterator. createFile(blob)
File
Creates a file in the root of the user's Drive from a given Blob
of arbitrary data. createFile(name, content)
File
Creates a text file in the root of the user's Drive with the given name and contents. createFile(name, content, mimeType)
File
Creates a file in the root of the user's Drive with the given name, contents, and MIME type. createFolder(name)
Folder
Creates a folder in the root of the user's Drive with the given name. createShortcut(targetId)
File
Creates a shortcut to the provided Drive item ID, and returns it. createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)
File
Creates a shortcut to the provided Drive item ID and resource key, and returns it. enforceSingleParent(value)
void
Enables or disables enforceSingleParent behavior for all calls affecting item parents. getFileById(id)
File
Gets the file with the given ID. getFileByIdAndResourceKey(id, resourceKey)
File
Gets the file with the given ID and resource key. getFiles()
FileIterator
Gets a collection of all files in the user's Drive. getFilesByName(name)
FileIterator
Gets a collection of all files in the user's Drive that have the given name. getFilesByType(mimeType)
FileIterator
Gets a collection of all files in the user's Drive that have the given MIME type. getFolderById(id)
Folder
Gets the folder with the given ID. getFolderByIdAndResourceKey(id, resourceKey)
Folder
Gets the folder with the given ID and resource key. getFolders()
FolderIterator
Gets a collection of all folders in the user's Drive. getFoldersByName(name)
FolderIterator
Gets a collection of all folders in the user's Drive that have the given name. getRootFolder()
Folder
Gets the folder at the root of the user's Drive. getStorageLimit()
Integer
Gets the number of bytes the user is allowed to store in Drive. getStorageUsed()
Integer
Gets the number of bytes the user is currently storing in Drive. getTrashedFiles()
FileIterator
Gets a collection of all the files in the trash of the user's Drive. getTrashedFolders()
FolderIterator
Gets a collection of all the folders in the trash of the user's Drive. searchFiles(params)
FileIterator
Gets a collection of all files in the user's Drive that match the given search criteria. searchFolders(params)
FolderIterator
Gets a collection of all folders in the user's Drive that match the given search criteria. File
FileIterator
Methods Method Return type Brief description getContinuationToken()
String
Gets a token that can be used to resume this iteration at a later time. hasNext()
Boolean
Determines whether calling next()
will return an item. next()
File
Gets the next item in the collection of files or folders. Folder
Methods Method Return type Brief description addEditor(emailAddress)
Folder
Adds the given user to the list of editors for the Folder
. addEditor(user)
Folder
Adds the given user to the list of editors for the Folder
. addEditors(emailAddresses)
Folder
Adds the given array of users to the list of editors for the Folder
. addViewer(emailAddress)
Folder
Adds the given user to the list of viewers for the Folder
. addViewer(user)
Folder
Adds the given user to the list of viewers for the Folder
. addViewers(emailAddresses)
Folder
Adds the given array of users to the list of viewers for the Folder
. createFile(blob)
File
Creates a file in the current folder from a given Blob
of arbitrary data. createFile(name, content)
File
Creates a text file in the current folder with the given name and contents. createFile(name, content, mimeType)
File
Creates a file in the current folder with the given name, contents, and MIME type. createFolder(name)
Folder
Creates a folder in the current folder with the given name. createShortcut(targetId)
File
Creates a shortcut to the provided Drive item ID, and returns it. createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)
File
Creates a shortcut to the provided Drive item ID and resource key, and returns it. getAccess(email)
Permission
Gets the permission granted to a specific user. getAccess(user)
Permission
Gets the permission granted to a specific user. getDateCreated()
Date
Gets the date the Folder
was created. getDescription()
String
Gets the description for the Folder
. getEditors()
User[]
Gets the list of editors for this Folder
. getFiles()
FileIterator
Gets a collection of all files that are children of the current folder. getFilesByName(name)
FileIterator
Gets a collection of all files that are children of the current folder and have the given name. getFilesByType(mimeType)
FileIterator
Gets a collection of all files that are children of the current folder and have the given MIME type. getFolders()
FolderIterator
Gets a collection of all folders that are children of the current folder. getFoldersByName(name)
FolderIterator
Gets a collection of all folders that are children of the current folder and have the given name. getId()
String
Gets the ID of the Folder
. getLastUpdated()
Date
Gets the date the Folder
was last updated. getName()
String
Gets the name of the Folder
. getOwner()
User
Gets the owner of this Folder
. getParents()
FolderIterator
Gets a collection of folders that are immediate parents of the Folder
. getResourceKey()
String
Gets the resource key of the Folder
that is required to access items that have been shared using a link. getSecurityUpdateEligible()
Boolean
Gets 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()
Boolean
Gets whether this Folder
requires a resource key for access when it's shared using a link. getSharingAccess()
Access
Gets which class of users can access the Folder
, besides any individual users who have been explicitly given access. getSharingPermission()
Permission
Gets the permission granted to those users who can access the Folder
, besides any individual users who have been explicitly given access. getSize()
Integer
Gets the number of bytes used to store the Folder
in Drive. getUrl()
String
Gets 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()
Boolean
Determines whether users with edit permissions to the Folder
are allowed to share with other users or change the permissions. isStarred()
Boolean
Determines whether the Folder
has been starred in the user's Drive. isTrashed()
Boolean
Determines whether the Folder
is in the trash of the user's Drive. moveTo(destination)
Folder
Moves this item to the provided destination folder. removeEditor(emailAddress)
Folder
Removes the given user from the list of editors for the Folder
. removeEditor(user)
Folder
Removes the given user from the list of editors for the Folder
. removeViewer(emailAddress)
Folder
Removes the given user from the list of viewers and commenters for the Folder
. removeViewer(user)
Folder
Removes the given user from the list of viewers and commenters for the Folder
. revokePermissions(emailAddress)
Folder
Revokes the access to the Folder
granted to the given user. revokePermissions(user)
Folder
Revokes the access to the Folder
granted to the given user. searchFiles(params)
FileIterator
Gets a collection of all files that are children of the current folder and match the given search criteria. searchFolders(params)
FolderIterator
Gets a collection of all folders that are children of the current folder and match the given search criteria. setDescription(description)
Folder
Sets the description for the Folder
. setName(name)
Folder
Sets the name of the Folder
. setOwner(emailAddress)
Folder
Changes the owner of the Folder
. setOwner(user)
Folder
Changes the owner of the Folder
. setSecurityUpdateEnabled(enabled)
Folder
Sets whether the Folder
requires a resource key for access when it's shared using a link. setShareableByEditors(shareable)
Folder
Sets whether users with edit permissions to the Folder
are allowed to share with other users or change the permissions. setSharing(accessType, permissionType)
Folder
Sets 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)
Folder
Sets whether the Folder
is starred in the user's Drive. setTrashed(trashed)
Folder
Sets whether the Folder
is in the trash of the user's Drive. FolderIterator
Methods Method Return type Brief description getContinuationToken()
String
Gets a token that can be used to resume this iteration at a later time. hasNext()
Boolean
Determines whether calling next()
will return an item. next()
Folder
Gets the next item in the collection of files or folders. Permission
Properties Property Type Description VIEW
Enum
Users who can access the file or folder are able only to view it or copy it. EDIT
Enum
Users who can access the file or folder are able to edit it. COMMENT
Enum
Users who can access the file or folder are able only to view it, copy it, or comment on it. OWNER
Enum
The user owns the file or folder. ORGANIZER
Enum
Users who can organize files and folders within a shared drive. FILE_ORGANIZER
Enum
Users who can edit, trash, and move content within a shared drive. NONE
Enum
The user does not have any permissions for the file or folder. User
Methods Method Return type Brief description getDomain()
String
Gets the domain name associated with the user's account. getEmail()
String
Gets the user's email address. getName()
String
Gets the user's name. getPhotoUrl()
String
Gets the URL for the user's photo.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-01-13 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-01-13 UTC."],[[["Google Apps Script's Drive Service enables programmatic interaction with Google Drive, allowing for file and folder manipulation."],["Domain administrators can disable the Drive SDK, impacting the functionality of Apps Script scripts, add-ons, and applications reliant on Drive access."],["The Drive Service offers a comprehensive set of methods for managing files and folders, encompassing tasks such as creation, modification, sharing, and permission control."],["This service provides specialized classes like `File`, `Folder`, `User`, and iterators (`FileIterator`, `FolderIterator`) to streamline Drive interactions."],["Developers can leverage methods within these classes to perform granular operations, including content updates, permission adjustments, and metadata management for Drive resources."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4