Class Folder

文件夹

Google 云端硬盘中的文件夹。您可以通过 DriveApp 访问或创建文件夹。

// Log the name of every folder in the user's Drive.
const folders = DriveApp.getFolders();
while (folders.hasNext()) {
  const folder = folders.next();
  Logger.log(folder.getName());
}

方法

方法返回类型简介
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创建指向所提供的云端硬盘内容 ID 的快捷方式,并返回该快捷方式。
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)File创建指向所提供的云端硬盘内容 ID 和资源密钥的快捷方式,并返回该快捷方式。
getAccess(email)Permission获取授予特定用户的权限。
getAccess(user)Permission获取授予特定用户的权限。
getDateCreated()Date获取 Folder 的创建日期。
getDescription()String获取 Folder 的说明。
getEditors()User[]获取相应 Folder 的编辑器列表。
getFiles()FileIterator获取当前文件夹的所有子级文件组成的集合。
getFilesByName(name)FileIterator获取当前文件夹的所有子文件(具有指定名称)。
getFilesByType(mimeType)FileIterator获取当前文件夹的所有子文件(具有指定 MIME 类型)的集合。
getFolders()FolderIterator获取当前文件夹的所有子文件夹的集合。
getFoldersByName(name)FolderIterator获取当前文件夹的所有子文件夹(具有指定名称)的集合。
getId()String获取 Folder 的 ID。
getLastUpdated()Date获取 Folder 的上次更新日期。
getName()String获取 Folder 的名称。
getOwner()User获取相应 Folder 的所有者。
getParents()FolderIterator获取 Folder 的直接父文件夹的集合。
getResourceKey()String获取 Folder 的资源密钥,该密钥是访问通过链接共享的必需密钥。
getSecurityUpdateEligible()Boolean获取此 Folder 是否符合应用安全更新的条件。如果应用安全更新,则在通过链接分享此 Folder 时,需要使用资源密钥才能访问。
getSecurityUpdateEnabled()Boolean获取相应 Folder 在通过链接共享时是否需要资源密钥才能访问。
getSharingAccess()Access获取哪些类别的用户可以访问 Folder,明确授予访问权限的任何个人用户除外。
getSharingPermission()Permission获取已授予可访问 Folder 的用户的权限,明确授予访问权限的任何个人用户除外。
getSize()Integer获取用于在云端硬盘中存储 Folder 的字节数。
getUrl()String获取可用于在 Google 应用(例如云端硬盘或 Google 文档)中打开 Folder 的网址。
getViewers()User[]获取相应 Folder 的观看者和评论者列表。
isShareableByEditors()Boolean用于确定对 Folder 具有修改权限的用户是否可以与其他用户共享或更改权限。
isStarred()Boolean确定 Folder 是否已在用户的云端硬盘中加星标。
isTrashed()Boolean确定 Folder 是否位于用户的云端硬盘回收站中。
moveTo(destination)Folder将此项移至提供的目标文件夹。
removeEditor(emailAddress)FolderFolder 的编辑者列表中移除指定用户。
removeEditor(user)FolderFolder 的编辑者列表中移除指定用户。
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)Folder设置 Folder 的名称。
setOwner(emailAddress)Folder更改 Folder 的所有者。
setOwner(user)Folder更改 Folder 的所有者。
setSecurityUpdateEnabled(enabled)Folder设置 Folder 在通过链接共享时是否需要资源密钥才能访问。
setShareableByEditors(shareable)Folder设置是否允许对 Folder 拥有修改权限的用户与其他用户共享或更改权限。
setSharing(accessType, permissionType)Folder设置哪些类别的用户可以访问 Folder,以及除了明确获得访问权限的任何个人用户之外,这些用户还被授予了哪些权限。
setStarred(starred)Folder设置 Folder 是否已在用户的云端硬盘中加星标。
setTrashed(trashed)Folder设置 Folder 是否位于用户的云端硬盘回收站中。

详细文档

addEditor(emailAddress)

将指定用户添加到 Folder 的编辑者列表中。如果用户已在观看者列表中,此方法会将用户从观看者列表中提升出来。

参数

名称类型说明
emailAddressString要添加的用户的电子邮件地址。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

addEditor(user)

将指定用户添加到 Folder 的编辑者列表中。如果用户已在观看者列表中,此方法会将用户从观看者列表中提升出来。

参数

名称类型说明
userUser要添加的用户的表示形式。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

addEditors(emailAddresses)

将指定的用户数组添加到 Folder 的编辑者列表中。如果任何用户已在观看者列表中,此方法会将其从观看者列表中移除。

参数

名称类型说明
emailAddressesString[]要添加的用户的电子邮件地址数组。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

addViewer(emailAddress)

将指定用户添加到 Folder 的观看者列表中。如果用户已在编辑者列表中,此方法不会产生任何影响。

参数

名称类型说明
emailAddressString要添加的用户的电子邮件地址。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

addViewer(user)

将指定用户添加到 Folder 的观看者列表中。如果用户已在编辑者列表中,此方法不会产生任何影响。

参数

名称类型说明
userUser要添加的用户的表示形式。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

addViewers(emailAddresses)

将指定的用户数组添加到 Folder 的观看者列表中。如果任何用户已在编辑者列表中,此方法对他们不起作用。

参数

名称类型说明
emailAddressesString[]要添加的用户的电子邮件地址数组。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

createFile(blob)

根据给定的任意数据 Blob 在当前文件夹中创建一个文件。

参数

名称类型说明
blobBlobSource新文件的数据。

返回

File - 新文件。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

createFile(name, content)

在当前文件夹中创建一个具有指定名称和内容的文本文件。如果 content 大于 50 MB,则抛出异常。

// Create a text file with the content "Hello, world!"
DriveApp.getRootFolder().createFile('New Text File', 'Hello, world!');

参数

名称类型说明
nameString新文件的名称。
contentString新文件的内容。

返回

File - 新文件。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

createFile(name, content, mimeType)

在当前文件夹中创建一个具有指定名称、内容和 MIME 类型的文件。如果 content 大于 10MB,则抛出异常。

// Create an HTML file with the content "Hello, world!"
DriveApp.getRootFolder().createFile('New HTML File', '<b>Hello, world!</b>', MimeType.HTML);

参数

名称类型说明
nameString新文件的名称。
contentString新文件的内容。
mimeTypeString新文件的 MIME 类型。

返回

File - 新文件。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

createFolder(name)

在当前文件夹中创建一个具有指定名称的文件夹。

参数

名称类型说明
nameString新文件夹的名称。

返回

Folder - 新文件夹。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

createShortcut(targetId)

创建指向所提供的云端硬盘内容 ID 的快捷方式,并返回该快捷方式。

参数

名称类型说明
targetIdString目标文件或文件夹的文件 ID。

返回

File - 新快捷方式。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

创建指向所提供的云端硬盘内容 ID 和资源密钥的快捷方式,并返回该快捷方式。资源密钥是一种附加参数,需要传递该参数才能访问通过链接共享的目标文件或文件夹。

// Creates shortcuts for all folders in the user's drive that have a specific
// name.
// TODO(developer): Replace 'Test-Folder' with a valid folder name in your
// drive.
const folders = DriveApp.getFoldersByName('Test-Folder');

// Iterates through all folders named 'Test-Folder'.
while (folders.hasNext()) {
  const folder = folders.next();

  // Creates a shortcut to the provided Drive item ID and resource key, and
  // returns it.
  DriveApp.createShortcutForTargetIdAndResourceKey(
      folder.getId(),
      folder.getResourceKey(),
  );
}

参数

名称类型说明
targetIdString目标文件或文件夹的 ID。
targetResourceKeyString目标文件或文件夹的资源键。

返回

File - 新快捷方式。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

getAccess(email)

获取授予特定用户的权限。该方法不支持返回 Google 群组的权限或通过 Google 群组继承的权限。

参数

名称类型说明
emailString应检查其权限的用户的电子邮件地址。不支持 Google 群组。

返回

Permission - 授予用户的权限。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getAccess(user)

获取授予特定用户的权限。该方法不支持返回 Google 群组的权限或通过 Google 群组继承的权限。

参数

名称类型说明
userUser要检查其权限的用户的表示形式。

返回

Permission - 授予用户的权限。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getDateCreated()

获取 Folder 的创建日期。

返回

Date - Folder 的创建日期

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getDescription()

获取 Folder 的说明。

返回

String - Folder 的说明

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getEditors()

获取相应 Folder 的编辑器列表。如果执行脚本的用户没有 Folder 的编辑权限,此方法会返回一个空数组。

//  Gets a folder by its ID.
//  TODO(developer): Replace the folder ID with your own.
const folder = DriveApp.getFolderById('1234567890abcdefghijklmnopqrstuvwxyz');

// Gets the list of editors and logs their names to the console.
const editors = folder.getEditors();
for (const editor of editors) {
  console.log(editor.getName());
}

返回

User[] - 如果用户具有编辑权限,则为相应 Folder 的编辑者列表;否则,为空数组。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFiles()

获取当前文件夹的所有子级文件组成的集合。

返回

FileIterator - 当前文件夹的所有子文件的集合。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFilesByName(name)

获取当前文件夹的所有子文件(具有指定名称)。

参数

名称类型说明
nameString要查找的文件的名称。

返回

FileIterator - 当前文件夹的所有子文件(具有指定名称)的集合。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFilesByType(mimeType)

获取当前文件夹的所有子文件(具有指定 MIME 类型)的集合。

参数

名称类型说明
mimeTypeString要查找的文件的 MIME 类型。

返回

FileIterator - 当前文件夹中具有指定 MIME 类型的所有子文件的集合。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolders()

获取当前文件夹的所有子文件夹的集合。

返回

FolderIterator - 当前文件夹的所有子文件夹的集合。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFoldersByName(name)

获取当前文件夹的所有子文件夹(具有指定名称)的集合。

参数

名称类型说明
nameString要查找的文件夹的名称。

返回

FolderIterator - 当前文件夹的所有子文件夹的集合,这些子文件夹具有给定的名称。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getId()

获取 Folder 的 ID。

返回

String - Folder 的 ID

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getLastUpdated()

获取 Folder 的上次更新日期。

返回

Date - Folder 上次更新的日期

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getName()

获取 Folder 的名称。

返回

String - Folder 的名称

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getOwner()

获取相应 Folder 的所有者。

//  Gets a folder by its ID.
//  TODO(developer): Replace the folder ID with your own.
const folder = DriveApp.getFolderById('1234567890abcdefghijklmnopqrstuvwxyz');

// Gets the owner of the folder and logs the name to the console.
const folderOwner = folder.getOwner();
console.log(folderOwner.getName());

返回

User - 此 Folder 的所有者。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getParents()

获取 Folder 的直接父文件夹的集合。

返回

FolderIterator - Folder 的直接父文件夹的集合

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getResourceKey()

获取 Folder 的资源密钥,该密钥是访问通过链接共享的必需密钥。

返回

String - Folder 的资源键。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getSecurityUpdateEligible()

获取此 Folder 是否符合应用安全更新的条件。如果应用安全更新,则在通过链接分享此 Folder 时,需要使用资源密钥才能访问此 Folder

云端硬盘需要资源密钥才能访问通过链接共享的某些文件或文件夹。此变更是安全更新的一部分。对于符合条件的文件和文件夹,此更新默认处于开启状态。如需针对符合条件的文件开启或关闭资源密钥要求,请使用 setSecurityUpdateEnabled

详细了解 Google 云端硬盘安全更新

返回

Boolean - 资源密钥要求是否可应用于 Folder

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getSecurityUpdateEnabled()

获取相应 Folder 在通过链接共享时是否需要资源密钥才能访问。对于符合条件的文件和文件夹,此要求默认处于启用状态。 如需为符合条件的文件启用或停用资源密钥要求,请使用 setSecurityUpdateEnabled

详细了解 Google 云端硬盘安全更新

返回

Boolean - 是否为相应 Folder 启用了资源键要求。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getSharingAccess()

获取哪些类别的用户可以访问 Folder,明确获得访问权限的任何个人用户除外。

返回

Access - 哪类用户可以访问 Folder

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getSharingPermission()

获取已授予可访问 Folder 的用户的权限,明确授予访问权限的任何个人用户除外。

返回

Permission - 向可访问 Folder 的用户授予的权限

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getSize()

获取用于在云端硬盘中存储 Folder 的字节数。请注意,Google Workspace 应用文件不会计入云端硬盘存储空间上限,因此会返回 0 字节。

返回

Integer - 用于存储云端硬盘中的 Folder 的字节数

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getUrl()

获取可用于在 Google 应用(例如云端硬盘或 Google 文档)中打开 Folder 的网址。

返回

String - 可用于在 Google 应用(如云端硬盘或 Google 文档)中查看相应 Folder 的网址

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getViewers()

获取相应 Folder 的查看者和评论者列表。如果执行脚本的用户没有 Folder 的编辑权限,此方法会返回一个空数组。

//  Gets a folder by its ID.
//  TODO(developer): Replace the folder ID with your own.
const folder = DriveApp.getFolderById('1234567890abcdefghijklmnopqrstuvwxyz');

// Gets the list of viewers and logs their names to the console.
const viewers = folder.getViewers();
for (const viewer of viewers) {
  console.log(viewer.getName());
}

返回

User[] - 如果用户具有编辑权限,则为相应 Folder 的查看者和评论者列表;否则,为空数组。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

isShareableByEditors()

用于确定对 Folder 具有修改权限的用户是否可以与其他用户共享或更改权限。

返回

Boolean - true:如果允许具有修改权限的用户与其他用户共享或更改权限;false:如果不允许

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

isStarred()

确定 Folder 是否已在用户的云端硬盘中加星标。

返回

Boolean - 如果 Folder 在用户的云端硬盘中已加星标,则为 true;否则为 false

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

isTrashed()

确定 Folder 是否位于用户的云端硬盘回收站中。

返回

Boolean - 如果 Folder 位于用户云端硬盘的回收站中,则为 true;否则为 false

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

moveTo(destination)

将此项目移至提供的目标文件夹。

当前用户必须是文件的所有者,或者至少拥有对相应项目当前父级文件夹的编辑权限,才能将该项目移至目标文件夹。

参数

名称类型说明
destinationFolder将成为新父级的文件夹。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

removeEditor(emailAddress)

Folder 的编辑者列表中移除指定用户。如果用户属于具有一般访问权限的用户类别,例如,如果 Folder 与用户的整个网域共享,或者 Folder 位于用户可以访问的共享云端硬盘中,则此方法不会阻止用户访问 Folder

对于云端硬盘文件,此操作还会从查看者列表中移除相应用户。

参数

名称类型说明
emailAddressString要移除的用户的电子邮件地址。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

removeEditor(user)

Folder 的编辑者列表中移除指定用户。如果用户属于具有一般访问权限的用户类别,例如,如果 Folder 与用户的整个网域共享,或者 Folder 位于用户可以访问的共享云端硬盘中,则此方法不会阻止用户访问 Folder

对于云端硬盘文件,此操作还会从查看者列表中移除相应用户。

参数

名称类型说明
userUser要移除的用户的表示形式。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

removeViewer(emailAddress)

Folder 的观看者和评论者列表中移除指定用户。如果用户是编辑者,而不是查看者或评论者,此方法不会产生任何影响。此方法也不会阻止属于具有常规访问权限的用户类别的用户访问 Folder,例如,如果 Folder 与用户的整个网域共享,或者如果 Folder 位于用户可以访问的共享云端硬盘中,则用户可以访问 Folder

对于云端硬盘文件,此操作还会从编辑者列表中移除相应用户。

参数

名称类型说明
emailAddressString要移除的用户的电子邮件地址。

返回

Folder - 用于链式调用的 Folder

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

removeViewer(user)

Folder 的观看者和评论者列表中移除指定用户。如果用户是编辑者而非查看者,此方法将无效。如果用户属于具有常规访问权限的用户类别,例如,如果 Folder 与用户的整个网域共享,或者 Folder 位于用户可以访问的共享云端硬盘中,那么此方法也不会阻止用户访问 Folder

对于云端硬盘文件,此操作还会从编辑者列表中移除相应用户。

参数

名称类型说明
userUser要移除的用户的表示形式。

返回

Folder - 用于链式调用的 Folder

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

revokePermissions(emailAddress)

撤消授予指定用户的 Folder 访问权限。如果用户属于具有一般访问权限的用户类别(例如,如果 Folder 与用户的整个网域共享),此方法不会阻止用户访问 Folder

参数

名称类型说明
emailAddressString应撤消访问权限的用户的电子邮件地址。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

revokePermissions(user)

撤消授予指定用户的 Folder 访问权限。如果用户属于具有一般访问权限的用户类别(例如,如果 Folder 与用户的整个网域共享),此方法不会阻止用户访问 Folder

参数

名称类型说明
userUser应撤消其访问权限的用户的表示形式。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

searchFiles(params)

获取当前文件夹的所有子文件(这些文件符合给定的搜索条件)。如需详细了解搜索条件,请参阅 Google 云端硬盘 SDK 文档。请注意,Drive 服务使用的是 Drive API v2,并且某些查询字段与 v3 不同。查看 v2 与 v3 之间的字段差异

params 实参是一个可以包含字符串值的查询字符串,因此请注意正确转义引号(例如 "title contains 'Gulliver\\'s Travels'"'title contains "Gulliver\'s Travels"')。

// Logs the name of every file that are children of the current folder and modified after February 28,
// 2022 whose name contains "untitled.""
const files = DriveApp.getRootFolder().searchFiles(
    'modifiedDate > "2022-02-28" and title contains "untitled"');
while (files.hasNext()) {
  const file = files.next();
  console.log(file.getName());
}

参数

名称类型说明
paramsString搜索条件,如 Google 云端硬盘 SDK 文档中所述。

返回

FileIterator - 当前文件夹中符合搜索条件的所有文件的集合。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

searchFolders(params)

获取当前文件夹的所有子文件夹的集合,这些子文件夹符合给定的搜索条件。如需详细了解搜索条件,请参阅 Google 云端硬盘 SDK 文档。请注意,Drive 服务使用的是 Drive API v2,并且某些查询字段与 v3 不同。查看 v2 与 v3 之间的字段差异

params 实参是一个可以包含字符串值的查询字符串,因此请注意正确转义引号(例如 "title contains 'Gulliver\\'s Travels'"'title contains "Gulliver\'s Travels"')。

// Logs the name of every folder that are children of the current folder and you own and is starred.
const folders = DriveApp.getRootFolder().searchFolders('starred = true and "me" in owners');
while (folders.hasNext()) {
  const folder = folders.next();
  console.log(folder.getName());
}

参数

名称类型说明
paramsString搜索条件,如 Google 云端硬盘 SDK 文档中所述。

返回

FolderIterator - 当前文件夹的所有子文件夹的集合,这些子文件夹符合搜索条件。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

setDescription(description)

Folder 设置说明。

参数

名称类型说明
descriptionStringFolder 的新说明

返回

Folder - 此 Folder,用于链式调用

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

setName(name)

设置 Folder 的名称。

参数

名称类型说明
nameStringFolder 的新名称

返回

Folder - 此 Folder,用于链式调用

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

setOwner(emailAddress)

更改 Folder 的所有者。此方法还会向之前的所有者授予对 Folder 的明确编辑权限。

云端硬盘不支持更改 gmail.com 账号所拥有的内容的所属权;但支持更改 Workspace 账号所拥有的内容的所属权。

参数

名称类型说明
emailAddressString应成为新所有者的用户的电子邮件地址。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

setOwner(user)

更改 Folder 的所有者。此方法还会向之前的所有者授予对 Folder 的明确编辑权限。

云端硬盘不支持更改 gmail.com 账号所拥有的内容的所属权;但支持更改 Workspace 账号所拥有的内容的所属权。

参数

名称类型说明
userUser应成为新所有者的用户的表示形式。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

setSecurityUpdateEnabled(enabled)

设置 Folder 在通过链接共享时是否需要资源密钥才能访问。默认情况下,符合条件的文件和文件夹处于启用状态。

详细了解 Google 云端硬盘安全更新

参数

名称类型说明
enabledBoolean是否为 Folder 启用资源密钥要求。

返回

Folder - 此 Folder,用于链式调用。

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

setShareableByEditors(shareable)

设置是否允许对 Folder 拥有修改权限的用户与其他用户共享或更改权限。新 Folder 的默认值为 true

参数

名称类型说明
shareableBooleantrue 如果应允许具有修改权限的用户与其他用户共享或更改权限;false 如果不应允许

返回

Folder - 此 Folder,用于链式调用

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

setSharing(accessType, permissionType)

设置哪些类别的用户可以访问 Folder,以及除了已明确获得访问权限的任何个人用户之外,这些用户还被授予了哪些权限。

// 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.)
const folder = DriveApp.createFolder('Shared Folder');
folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);

参数

名称类型说明
accessTypeAccess哪些类别的用户应该能够访问 Folder
permissionTypePermission应向可访问 Folder 的用户授予的权限

返回

Folder - 此 Folder,用于链式调用

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

setStarred(starred)

设置 Folder 是否已在用户的云端硬盘中加星标。新 Folder 的默认值为 false

参数

名称类型说明
starredBoolean如果应在用户的云端硬盘中为 Folder 加星标,则为 true;否则为 false

返回

Folder - 此 Folder,用于链式调用

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

setTrashed(trashed)

设置 Folder 是否位于用户的云端硬盘回收站中。只有所有者可以删除Folder。新 Folder 的默认值为 false

参数

名称类型说明
trashedBoolean如果 Folder 应移至用户的云端硬盘回收站,则为 true;否则为 false

返回

Folder - 此 Folder,用于链式调用

授权

使用此方法的脚本需要获得以下一项或多项范围的授权:

  • https://www.googleapis.com/auth/drive

已弃用的方法