Class File Stay organized with collections Save and categorize content based on your preferences.
Page Summary
Google Drive
Fileobjects inDriveAppallow programmatic interaction with files.The documentation lists various methods for managing file permissions, getting file information, and manipulating file content.
Specific methods exist for managing access, retrieving details like ID and name, and performing operations like copying or moving files.
Shortcut-specific methods provide information about the target of a shortcut file.
Scripts interacting with files require appropriate Google Drive authorization scopes.
A file in Google Drive. Files can be accessed or created fromDrive.
// Trash every untitled spreadsheet that hasn't been updated in a week.constfiles=DriveApp.getFilesByName('Untitled spreadsheet');while(files.hasNext()){constfile=files.next();if(newDate()-file.getLastUpdated() >7*24*60*60*1000){file.setTrashed(true);}}
Methods
| Method | Return type | Brief description |
|---|---|---|
add | File | Add the given user to the list of commenters for theFile. |
add | File | Add the given user to the list of commenters for theFile. |
add | File | Add the given array of users to the list of commenters for theFile. |
add | File | Adds the given user to the list of editors for theFile. |
add | File | Adds the given user to the list of editors for theFile. |
add | File | Adds the given array of users to the list of editors for theFile. |
add | File | Adds the given user to the list of viewers for theFile. |
add | File | Adds the given user to the list of viewers for theFile. |
add | File | Adds the given array of users to the list of viewers for theFile. |
get | Permission | Gets the permission granted to a specific user. |
get | Permission | Gets the permission granted to a specific user. |
get | Blob | Return the data inside this object as a blob converted to the specified content type. |
get | Blob | Return the data inside this object as a blob. |
get | Date | Gets the date theFile was created. |
get | String | Gets the description for theFile. |
get | String | Gets the URL that can be used to download the file. |
get | User[] | Gets the list of editors for thisFile. |
get | String | Gets the ID of theFile. |
get | Date | Gets the date theFile was last updated. |
get | String | Gets the MIME type of the file. |
get | String | Gets the name of theFile. |
get | User | Gets the file owner. |
get | Folder | Gets a collection of folders that are immediate parents of theFile. |
get | String | Gets the resource key of theFile that is required to access items thathave been shared using a link. |
get | Boolean | Gets whether thisFile is eligible to apply the security update thatrequires a resource key for access when it's shared using a link. |
get | Boolean | Gets whether thisFile requires a resource key for access when it'sshared using a link. |
get | Access | Gets which class of users can access theFile, besides any individualusers who have been explicitly given access. |
get | Permission | Gets the permission granted to those users who can access theFile,besides any individual users who have been explicitly given access. |
get | Integer | Gets the number of bytes used to store theFile in Drive. |
get | String | If this is a Shortcut, returns the ID of the item it points to. |
get | String | If this is a Shortcut, returns the mime type of the item it points to. |
get | String | If the file is a shortcut, returns the resource key of the item it points to. |
get | Blob|null | Gets a thumbnail image for the file, ornull if no thumbnail exists. |
get | String | Gets the URL that can be used to open theFile in a Google App likeDrive or Docs. |
get | User[] | Gets the list of viewers and commenters for thisFile. |
is | Boolean | Determines whether users with edit permissions to theFile are allowed toshare with other users or change the permissions. |
is | Boolean | Determines whether theFile has been starred in the user's Drive. |
is | Boolean | Determines whether theFile is in the trash of the user's Drive. |
make | File | Creates a copy of the file. |
make | File | Creates a copy of the file in the destination directory. |
make | File | Creates a copy of the file and names it with the name provided. |
make | File | Creates a copy of the file in the destination directory and names it with the name provided. |
move | File | Moves this item to the provided destination folder. |
remove | File | Removes the given user from the list of commenters for theFile. |
remove | File | Removes the given user from the list of commenters for theFile. |
remove | File | Removes the given user from the list of editors for theFile. |
remove | File | Removes the given user from the list of editors for theFile. |
remove | File | Removes the given user from the list of viewers and commenters for theFile. |
remove | File | Removes the given user from the list of viewers and commenters for theFile. |
revoke | File | Revokes the access to theFile granted to the given user. |
revoke | File | Revokes the access to theFile granted to the given user. |
set | File | Overwrites the content of the file with a given replacement. |
set | File | Sets the description for theFile. |
set | File | Sets the name of theFile. |
set | File | Changes the owner of theFile. |
set | File | Changes the owner of theFile. |
set | File | Sets whether theFile requires a resource key for access when it'sshared using a link. |
set | File | Sets whether users with edit permissions to theFile are allowed to sharewith other users or change the permissions. |
set | File | Sets which class of users can access theFile and what permissionsthose users are granted, besides any individual users who have been explicitly given access. |
set | File | Sets whether theFile is starred in the user's Drive. |
set | File | Sets whether theFile is in the trash of the user's Drive. |
Detailed documentation
addCommenter(emailAddress)
Add the given user to the list of commenters for theFile. If the user wasalready on the list of viewers, this method promotes the user out of the list of viewers.
constfiles=DriveApp.getFilesByName('Test');// Loops through the fileswhile(files.hasNext()){constfile=files.next();file.addCommenter('hello@example.com');}
Parameters
| Name | Type | Description |
|---|---|---|
email | String | The email address of the user to add. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
addCommenter(user)
Add the given user to the list of commenters for theFile. If the user wasalready on the list of viewers, this method promotes the user out of the list of viewers.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Adds the active user as a commenter.while(files.hasNext()){constfile=files.next();file.addCommenter(Session.getActiveUser());}
Parameters
| Name | Type | Description |
|---|---|---|
user | User | A representation of the user to add. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
addCommenters(emailAddresses)
Add the given array of users to the list of commenters for theFile. If anyof the users were already on the list of viewers, this method promotes them out of the list ofviewers.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');while(files.hasNext()){constfile=files.next();// TODO(developer): Replace 'cloudysanfrancisco@gmail.com' and// 'baklavainthebalkans@gmail.com' with the email addresses to add as// commenters.constemails=['cloudysanfrancisco@gmail.com','baklavainthebalkans@gmail.com',];console.log(file.addCommenters(emails));}
Parameters
| Name | Type | Description |
|---|---|---|
email | String[] | An array of email addresses of the users to add. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
addEditor(emailAddress)
Adds the given user to the list of editors for theFile. If the user was alreadyon the list of viewers, this method promotes the user out of the list of viewers.
Parameters
| Name | Type | Description |
|---|---|---|
email | String | The email address of the user to add. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
addEditor(user)
Adds the given user to the list of editors for theFile. If the user was alreadyon the list of viewers, this method promotes the user out of the list of viewers.
Parameters
| Name | Type | Description |
|---|---|---|
user | User | A representation of the user to add. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
addEditors(emailAddresses)
Adds the given array of users to the list of editors for theFile. If any of theusers were already on the list of viewers, this method promotes them out of the list ofviewers.
Parameters
| Name | Type | Description |
|---|---|---|
email | String[] | An array of email addresses of the users to add. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
addViewer(emailAddress)
Adds the given user to the list of viewers for theFile. If the user was alreadyon the list of editors, this method has no effect.
Parameters
| Name | Type | Description |
|---|---|---|
email | String | The email address of the user to add. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
addViewer(user)
Adds the given user to the list of viewers for theFile. If the user was alreadyon the list of editors, this method has no effect.
Parameters
| Name | Type | Description |
|---|---|---|
user | User | A representation of the user to add. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
addViewers(emailAddresses)
Adds the given array of users to the list of viewers for theFile. If any of theusers were already on the list of editors, this method has no effect for them.
Parameters
| Name | Type | Description |
|---|---|---|
email | String[] | An array of email addresses of the users to add. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
getAccess(email)
Gets the permission granted to a specific user. The method doesn't support returningpermissions for a Google Group or permissions inherited through Google Groups.
Parameters
| Name | Type | Description |
|---|---|---|
email | String | The email address of the user whose permissions should be checked. Google Groups aren't supported. |
Return
Permission — The permissions granted to the user.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getAccess(user)
Gets the permission granted to a specific user. The method doesn't support returningpermissions for a Google Group or permissions inherited through Google Groups.
Parameters
| Name | Type | Description |
|---|---|---|
user | User | A representation of the user whose permissions should be checked. |
Return
Permission — The permissions granted to the user.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getAs(contentType)
Return the data inside this object as a blob converted to the specified content type. Thismethod adds the appropriate extension to the filename—for example, "myfile.pdf". However, itassumes that the part of the filename that follows the last period (if any) is an existingextension that should be replaced. Consequently, "ShoppingList.12.25.2014" becomes"ShoppingList.12.25.pdf".
To view the daily quotas for conversions, seeQuotas for GoogleServices. Newly created Google Workspace domains might be temporarily subject to stricterquotas.
Parameters
| Name | Type | Description |
|---|---|---|
content | String | The MIME type to convert to. For most blobs,'application/pdf' is the only valid option. For images in BMP, GIF, JPEG, or PNG format, any of'image/bmp','image/gif','image/jpeg', or'image/png' are also valid. For a Google Docs document,'text/markdown' is also valid. |
Return
Blob — The data as a blob.
getBlob()
getDateCreated()
getDescription()
getDownloadUrl()
Gets the URL that can be used to download the file. Only users with permission to open the filein Google Drive can access the URL. You can use this URL in a browser to download the file, butyou can't use to fetch the file withUrl. If you want the contents of thefile in the script, useget.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Loops through the files and logs the download URLs to the console.while(files.hasNext()){constfile=files.next();console.log(file.getDownloadUrl());}
Return
String — The URL that can be used to download the file.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getEditors()
Gets the list of editors for thisFile. If the user who executes the scriptdoes not have edit access to theFile, this method returns an empty array.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Loops through the files.while(files.hasNext()){constfile=files.next();// Adds the email addresses in the array as editors of each file.// TODO(developer): Replace 'cloudysanfrancisco@gmail.com'// and 'baklavainthebalkans@gmail.com' with valid email addresses.file.addEditors(['cloudysanfrancisco@gmail.com','baklavainthebalkans@gmail.com',]);// Gets a list of the file editors.consteditors=file.getEditors();// For each file, logs the editors' email addresses to the console.for(consteditorofeditors){console.log(editor.getEmail());}}
Return
User[] — If the user has edit access for thisFile, returns the list of editors. If the user doesn't have edit access, returns an empty array.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getId()
getLastUpdated()
getMimeType()
Gets the MIME type of the file.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Loops through the files and logs the MIME type to the console.while(files.hasNext()){constfile=files.next();console.log(file.getMimeType());}
Return
String — The MIME type of the file.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getName()
getOwner()
Gets the file owner.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Loops through the files and logs the names of the file owners to the console.while(files.hasNext()){constfile=files.next();console.log(file.getOwner().getName());}
Return
User — The file owner.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getParents()
Gets a collection of folders that are immediate parents of theFile.
Return
Folder — a collection of folders that are immediate parents of theFile
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getResourceKey()
Gets the resource key of theFile that is required to access items thathave been shared using a link.
Return
String — The resource key of theFile.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getSecurityUpdateEligible()
Gets whether thisFile is eligible to apply the security update thatrequires a resource key for access when it's shared using a link.
Drive requires a resource key to access some files or folders that have been shared using alink. This change is part of a security update. The update is turned on by default for eligiblefiles and folders. To turn the resource key requirement on or off for eligible files, useset.
Learn more about theSecurity update for Google Drive.
Return
Boolean — Whether the resource key requirement can be applied for theFile.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getSecurityUpdateEnabled()
Gets whether thisFile requires a resource key for access when it'sshared using a link. This requirement is turned on by default for eligible files and folders.To turn the resource key requirement on or off for eligible files, usesetSecurityUpdateEnabled.
Learn more about theSecurity update for Google Drive.
Return
Boolean — Whether the resource key requirement is enabled for thisFile.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getSharingAccess()
Gets which class of users can access theFile, besides any individualusers who have been explicitly given access.
Return
Access — which class of users can access theFile
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getSharingPermission()
Gets the permission granted to those users who can access theFile,besides any individual users who have been explicitly given access.
Return
Permission — the permissions granted to users who can access theFile
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getSize()
Gets the number of bytes used to store theFile in Drive. Note thatGoogle Workspace application files do not count toward Drive storage limits and thus return0 bytes.
Return
Integer — the number of bytes used to store theFile in Drive
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getTargetId()
If this is a Shortcut, returns the ID of the item it points to.
Otherwise it returnsnull.
// The ID of the file for which to make a shortcut and the ID of// the folder to which you want to add the shortcut.// TODO(developer): Replace the file and folder IDs with your IDs.constfileId='abc123456';constfolderId='xyz987654';// Gets the folder to add the shortcut to.constfolder=DriveApp.getFolderById(folderId);// Creates a shortcut of the file and moves it to the specified folder.constshortcut=DriveApp.createShortcut(fileId).moveTo(folder);// Logs the target ID of the shortcut.console.log(`${shortcut.getName()}=${shortcut.getTargetId()}`);
Return
String — The target item ID.
getTargetMimeType()
If this is a Shortcut, returns the mime type of the item it points to.
Otherwise it returnsnull.
// The ID of the file for which to make a shortcut and the ID of// the folder to which you want to add the shortcut.// TODO(developer): Replace the file and folder IDs with your IDs.constfileId='abc123456';constfolderId='xyz987654';// Gets the folder to add the shortcut to.constfolder=DriveApp.getFolderById(folderId);// Creates a shortcut of the file and moves it to the specified folder.constshortcut=DriveApp.createShortcut(fileId).moveTo(folder);// Logs the MIME type of the file that the shortcut points to.console.log(`MIME type of the shortcut:${shortcut.getTargetMimeType()}`);
Return
String — The target item mime type.
getTargetResourceKey()
If the file is a shortcut, returns the resource key of the item it points to. A resource key isan additional parameter that you need to pass to access files that have been shared using alink.
If the file isn't a shortcut, it returnsnull.
// Gets a file by its ID.// TODO(developer): Replace 'abc123456' with your file ID.constfile=DriveApp.getFileById('abc123456');// If the file is a shortcut, returns the resource key of the file that it// points to.console.log(file.getTargetResourceKey());
Return
String — The target item's resource key ornull if the file is not a shortcut.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getThumbnail()
Gets a thumbnail image for the file, ornull if no thumbnail exists.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Loops through the files.while(files.hasNext()){constfile=files.next();// Logs the thumbnail image for each file to the console as a blob,// or null if no thumbnail exists.console.log(file.getThumbnail());}
Return
Blob|null — The thumbnail image for the file.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getUrl()
Gets the URL that can be used to open theFile in a Google App likeDrive or Docs.
Return
String — the URL that can be used to view thisFile in a Google App like Drive or Docs
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
getViewers()
Gets the list of viewers and commenters for thisFile. If the user whoexecutes the script does not have edit access to theFile, this methodreturns an empty array.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Loops through the files.while(files.hasNext()){constfile=files.next();// For each file, logs the viewers' email addresses to the console.constviewers=file.getViewers();for(constviewerofviewers){console.log(viewer.getEmail());}}
Return
User[] — If the user has edit access for thisFile, returns the list of viewers and commenters. If the user doesn't have edit access, returns an empty array.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
isShareableByEditors()
Determines whether users with edit permissions to theFile are allowed toshare with other users or change the permissions.
Return
Boolean —true if users with edit permissions are allowed to share with other users or change the permissions;false if not
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
isStarred()
Determines whether theFile has been starred in the user's Drive.
Return
Boolean —true if theFile is starred in the user's Drive;false if not
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
isTrashed()
Determines whether theFile is in the trash of the user's Drive.
Return
Boolean —true if theFile is in the trash of the user's Drive;false if not
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
makeCopy()
Creates a copy of the file.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Loops through the files.while(files.hasNext()){constfile=files.next();// Creates a copy of each file and logs the file name to the console.console.log(file.makeCopy().getName());}
Return
File — The new copy.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
makeCopy(destination)
Creates a copy of the file in the destination directory.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Loops through the files.while(files.hasNext()){constfile=files.next();// Creates a copy of each file and adds it to the specified folder.// TODO(developer): Replace the folder ID with your own.constdestination=DriveApp.getFolderById('123456abcxyz');constcopiedFile=file.makeCopy(destination);// Logs the file names to the console.console.log(copiedFile.getName());}
Parameters
| Name | Type | Description |
|---|---|---|
destination | Folder | The directory to copy the file into. |
Return
File — The new copy.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
makeCopy(name)
Creates a copy of the file and names it with the name provided.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Loops through the files.while(files.hasNext()){constfile=files.next();// Creates a copy of each file and sets the name to 'Test-Copy.'constfilename=file.makeCopy('Test-Copy');// Logs the copied file's name to the console.console.log(filename.getName());}
Parameters
| Name | Type | Description |
|---|---|---|
name | String | The filename that should be applied to the new copy. |
Return
File — The new copy.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
makeCopy(name, destination)
Creates a copy of the file in the destination directory and names it with the name provided.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Loops through the files.while(files.hasNext()){constfile=files.next();// Creates a copy of each file, sets the file name, and adds the copied file// to the specified folder.// TODO(developer): Replace the folder ID with your own.constdestination=DriveApp.getFolderById('123456abcxyz');constcopiedFile=file.makeCopy('Test-Copy',destination);// Logs the file names to the console.console.log(copiedFile.getName());}
Parameters
| Name | Type | Description |
|---|---|---|
name | String | The filename that should be applied to the new copy. |
destination | Folder | The directory to copy the file into. |
Return
File — The new copy.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
moveTo(destination)
Moves this item to the provided destination folder.
The current user must be the owner of the file or have at least edit access to the item'scurrent parent folder in order to move the item to the destination folder.
Parameters
| Name | Type | Description |
|---|---|---|
destination | Folder | The folder that becomes the new parent. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
removeCommenter(emailAddress)
Removes the given user from the list of commenters for theFile. This methoddoes not block users from access theFile if they belong to a class of userswho have general access — for example, if theFile is shared with the user'sentire domain.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Loops through the files.while(files.hasNext()){constfile=files.next();// Removes the given user from the list of commenters for each file.// TODO(developer): Replace the email with the email of the user you want to// remove.file.removeCommenter('cloudysanfrancisco@gmail.com');}
Parameters
| Name | Type | Description |
|---|---|---|
email | String | The email address of the user to remove. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
removeCommenter(user)
Removes the given user from the list of commenters for theFile. This methoddoes not block users from access theFile if they belong to a class of userswho have general access — for example, if theFile is shared with the user'sentire domain.
// Gets a list of all files in Google Drive with the given name.// TODO(developer): Replace the file name with your own.constfiles=DriveApp.getFilesByName('Test');// Loops through the files.while(files.hasNext()){constfile=files.next();// Removes the given user from the list of commenters for each file.console.log(file.removeCommenter(Session.getActiveUser()));}
Parameters
| Name | Type | Description |
|---|---|---|
user | User | A representation of the user to remove. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
removeEditor(emailAddress)
Removes the given user from the list of editors for theFile. This method doesn'tblock users from accessing theFile if they belong to a class of users who havegeneral access—for example, if theFile is shared with the user's entiredomain, or if theFile is in a shared drive that the user can access.
For Drive files, this also removes the user from the list of viewers.
Parameters
| Name | Type | Description |
|---|---|---|
email | String | The email address of the user to remove. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
removeEditor(user)
Removes the given user from the list of editors for theFile. This method doesn'tblock users from accessing theFile if they belong to a class of users who havegeneral access—for example, if theFile is shared with the user's entiredomain, or if theFile is in a shared drive that the user can access.
For Drive files, this also removes the user from the list of viewers.
Parameters
| Name | Type | Description |
|---|---|---|
user | User | A representation of the user to remove. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
removeViewer(emailAddress)
Removes the given user from the list of viewers and commenters for theFile. Thismethod has no effect if the user is an editor, not a viewer or commenter. This method alsodoesn't block users from accessing theFile if they belong to a class of users whohave general access—for example, if theFile is shared with the user'sentire domain, or if theFile is in a shared drive that the user can access.
For Drive files, this also removes the user from the list of editors.
Parameters
| Name | Type | Description |
|---|---|---|
email | String | The email address of the user to remove. |
Return
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
removeViewer(user)
Removes the given user from the list of viewers and commenters for theFile. Thismethod has no effect if the user is an editor, not a viewer. This method also doesn't blockusers from accessing theFile if they belong to a class of users who have generalaccess—for example, if theFile is shared with the user's entire domain, orif theFile is in a shared drive that the user can access.
For Drive files, this also removes the user from the list of editors.
Parameters
| Name | Type | Description |
|---|---|---|
user | User | A representation of the user to remove. |
Return
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
revokePermissions(emailAddress)
Revokes the access to theFile granted to the given user. This method doesn'tblock users from accessing theFile if they belong to a class of users whohave general access — for example, if theFile is shared with the user'sentire domain.
Parameters
| Name | Type | Description |
|---|---|---|
email | String | The email address of the user whose access should be revoked. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
revokePermissions(user)
Revokes the access to theFile granted to the given user. This method doesn'tblock users from accessing theFile if they belong to a class of users whohave general access — for example, if theFile is shared with the user'sentire domain.
Parameters
| Name | Type | Description |
|---|---|---|
user | User | A representation of the user whose access should be revoked. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
setContent(content)
Overwrites the content of the file with a given replacement. Throws an exception ifcontent is larger than 10MB.
Beware: this change is irreversible.
// Creates a text file with the content 'Hello, world!'constfile=DriveApp.createFile('New Text File','Hello, world!');// Logs the content of the text file to the console.console.log(file.getBlob().getDataAsString());// Updates the content of the text file to 'Updated text!'file.setContent('Updated text!');// Logs content of the text file to the console.console.log(file.getBlob().getDataAsString());
Parameters
| Name | Type | Description |
|---|---|---|
content | String | The new content for the file. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
setDescription(description)
setName(name)
setOwner(emailAddress)
Changes the owner of theFile. This method also gives the previous ownerexplicit edit access to theFile.
Parameters
| Name | Type | Description |
|---|---|---|
email | String | the email address of the user who should become the new owner |
Return
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
setOwner(user)
Changes the owner of theFile. This method also gives the previous ownerexplicit edit access to theFile.
Parameters
| Name | Type | Description |
|---|---|---|
user | User | a representation of the user who should become the new owner |
Return
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
setSecurityUpdateEnabled(enabled)
Sets whether theFile requires a resource key for access when it'sshared using a link. Eligible files and folders are enabled by default.
Learn more about theSecurity update for Google Drive.
Parameters
| Name | Type | Description |
|---|---|---|
enabled | Boolean | Whether to enable the resource key requirement for theFile. |
Return
File — ThisFile, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
setShareableByEditors(shareable)
Sets whether users with edit permissions to theFile are allowed to sharewith other users or change the permissions. The default for a newFile istrue.
Parameters
| Name | Type | Description |
|---|---|---|
shareable | Boolean | true if users with edit permissions should be allowed to share with other users or change the permissions;false if not |
Return
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
setSharing(accessType, permissionType)
Sets which class of users can access theFile and what permissionsthose users are granted, besides any individual users who have been explicitly given access.
// Creates a folder that anyone on the Internet can read from and write to.// (Domain administrators can prohibit this setting for users of a Google// Workspace domain.)constfolder=DriveApp.createFolder('Shared Folder');folder.setSharing(DriveApp.Access.ANYONE,DriveApp.Permission.EDIT);
Parameters
| Name | Type | Description |
|---|---|---|
access | Access | which class of users should be able to access theFile |
permission | Permission | the permissions that should be granted to users who can access theFile |
Return
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
setStarred(starred)
Sets whether theFile is starred in the user's Drive. The default fornewFiles isfalse.
Parameters
| Name | Type | Description |
|---|---|---|
starred | Boolean | true if theFile should be starred in the user's Drive;false if not |
Return
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
setTrashed(trashed)
Sets whether theFile is in the trash of the user's Drive. Only theowner may trash theFile. The default for newFiles isfalse.
Parameters
| Name | Type | Description |
|---|---|---|
trashed | Boolean | true if theFile should be moved to the trash of the user's Drive;false if not |
Return
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/drive
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-11 UTC.