Class DriveApp

云端硬盘应用

允许脚本在 Google 云端硬盘中创建、查找和修改文件和文件夹。

// Log the name of every file in the user's Drive.
var files = DriveApp.getFiles();
while (files.hasNext()) {
  var file = files.next();
  Logger.log(file.getName());
}

属性

属性类型说明
AccessAccess一个枚举,表示除了已明确获得访问权限的单个用户外,还可以访问其他文件或文件夹的用户。
PermissionPermission一个枚举,表示除了拥有明确访问权限的个人用户外,还有用户访问文件或文件夹的权限。

方法

方法返回类型简介
continueFileIterator(continuationToken)FileIterator使用来自上一个迭代器的继续令牌恢复文件迭代。
continueFolderIterator(continuationToken)FolderIterator使用来自上一个迭代器的继续令牌恢复文件夹迭代。
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 和资源键的快捷方式,并将其返回。
enforceSingleParent(value)void为影响项父级的所有调用启用或停用 forceSingleParent 行为。
getFileById(id)File获取具有指定 ID 的文件。
getFileByIdAndResourceKey(id, resourceKey)File获取具有指定 ID 和资源键的文件。
getFiles()FileIterator获取用户云端硬盘中所有文件的集合。
getFilesByName(name)FileIterator获取用户云端硬盘中具有指定名称的所有文件的集合。
getFilesByType(mimeType)FileIterator获取用户云端硬盘中具有指定 MIME 类型的所有文件的集合。
getFolderById(id)Folder获取具有指定 ID 的文件夹。
getFolderByIdAndResourceKey(id, resourceKey)Folder获取具有指定 ID 和资源键的文件夹。
getFolders()FolderIterator获取用户云端硬盘中所有文件夹的集合。
getFoldersByName(name)FolderIterator获取用户云端硬盘中具有指定名称的所有文件夹的集合。
getRootFolder()Folder获取用户根目录下的文件夹。
getStorageLimit()Integer获取允许用户存储在云端硬盘中的字节数。
getStorageUsed()Integer获取用户当前存储在云端硬盘中的字节数。
getTrashedFiles()FileIterator获取用户云端硬盘中回收站的所有文件的集合。
getTrashedFolders()FolderIterator获取用户云端硬盘中回收站的所有文件夹的集合。
searchFiles(params)FileIterator获取用户云端硬盘中符合指定搜索条件的所有文件的集合。
searchFolders(params)FolderIterator获取用户云端硬盘中符合指定搜索条件的所有文件夹的集合。

详细文档

continueFileIterator(continuationToken)

使用来自上一个迭代器的继续令牌恢复文件迭代。如果在一次执行中处理迭代器会超过最长执行时间,则此方法很有用。延续令牌通常有效期为一周。

参数

名称类型说明
continuationTokenString上一个文件迭代器中的继续令牌

返回

FileIterator - 生成延续令牌时留在上一个迭代器中的文件集合


continueFolderIterator(continuationToken)

使用来自上一个迭代器的继续令牌恢复文件夹迭代。如果在一次执行中处理迭代器会超过最长执行时间,则此方法很有用。延续令牌通常有效期为一周。

参数

名称类型说明
continuationTokenString上一个文件夹迭代器中的继续令牌

返回

FolderIterator - 生成连续令牌时保留在先前迭代器中的文件夹集合


createFile(blob)

根据给定的任意数据在用户的云端硬盘根目录中创建文件。Blob

// Create an image file in Google Drive using the Maps service.
var blob = Maps.newStaticMap().setCenter('76 9th Avenue, New York NY').getBlob();
DriveApp.createFile(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.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.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 和资源键的快捷方式,并将其返回。资源键是一个额外的参数,需要传递此参数才能访问使用链接共享的目标文件或文件夹。

参数

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

返回

File - 新的快捷方式。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

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

enforceSingleParent(value)

为影响项父级的所有调用启用或停用 forceSingleParent 行为。

如需了解详情,请参阅简化 Google 云端硬盘的文件夹结构和共享模型博客。

参数

名称类型说明
valueBooleanforceSingleParent 标记的新状态。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

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

getFileById(id)

获取具有指定 ID 的文件。如果文件不存在或用户无权访问该文件,则会抛出脚本异常。

参数

名称类型说明
idString文件的 ID

返回

File - 具有指定 ID 的文件

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

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

getFileByIdAndResourceKey(id, resourceKey)

获取具有指定 ID 和资源键的文件。资源键是一个额外的参数,需要传递此参数才能访问使用链接共享的文件。

如果文件不存在或用户无权访问,则会抛出脚本异常。

参数

名称类型说明
idString文件的 ID。
resourceKeyString文件夹的资源密钥。

返回

File - 具有指定 ID 的文件。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • 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

getFolderById(id)

获取具有指定 ID 的文件夹。如果文件夹不存在或用户无权访问文件夹,则会抛出脚本异常。

参数

名称类型说明
idString文件夹的 ID

返回

Folder - 具有指定 ID 的文件夹

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

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

getFolderByIdAndResourceKey(id, resourceKey)

获取具有指定 ID 和资源键的文件夹。资源键是一个额外的参数,需要传递给使用链接共享的访问文件夹。

如果文件夹不存在或用户没有访问文件夹的权限,则会抛出脚本异常。

参数

名称类型说明
idString文件夹的 ID。
resourceKeyString文件夹的资源密钥。

返回

Folder - 具有指定 ID 的文件夹。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • 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

getRootFolder()

获取用户根目录下的文件夹。

返回

Folder - 用户的云端硬盘的根文件夹

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

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

getStorageLimit()

获取允许用户存储在云端硬盘中的字节数。

返回

Integer - 用户允许存储在云端硬盘中的字节数

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

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

getStorageUsed()

获取用户当前存储在云端硬盘中的字节数。

返回

Integer - 用户当前存储在云端硬盘中的字节数

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

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

getTrashedFiles()

获取用户云端硬盘中回收站的所有文件的集合。

返回

FileIterator - 回收站中的文件集合

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

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

getTrashedFolders()

获取用户云端硬盘中回收站的所有文件夹的集合。

返回

FolderIterator - 回收站中的文件夹集合

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

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

searchFiles(params)

获取用户云端硬盘中符合指定搜索条件的所有文件的集合。如需详细了解搜索条件,请参阅 Google 云端硬盘 SDK 文档。请注意,params 参数是可能包含字符串值的查询字符串,因此请务必正确转义引号(例如 "title contains 'Gulliver\\'s Travels'"'title contains "Gulliver\'s Travels"')。

// Log the name of every file in the user's Drive that modified after February 28,
// 2013 whose name contains "untitled".
var files = DriveApp.searchFiles(
    'modifiedDate > "2013-02-28" and title contains "untitled"');
while (files.hasNext()) {
  var file = files.next();
  Logger.log(file.getName());
}

参数

名称类型说明
paramsString搜索条件,详见 Google 云端硬盘 SDK 文档

返回

FileIterator - 用户云端硬盘中符合搜索条件的所有文件的集合。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

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

searchFolders(params)

获取用户云端硬盘中符合指定搜索条件的所有文件夹的集合。如需详细了解搜索条件,请参阅 Google 云端硬盘 SDK 文档。请注意,params 参数是可能包含字符串值的查询字符串,因此请务必正确转义引号(例如 "title contains 'Gulliver\\'s Travels'"'title contains "Gulliver\'s Travels"')。

// Log the name of every folder in the user's Drive that you own and is starred.
var folders = DriveApp.searchFolders('starred = true and "me" in owners');
while (folders.hasNext()) {
  var folder = folders.next();
  Logger.log(folder.getName());
}

参数

名称类型说明
paramsString搜索条件,详见 Google 云端硬盘 SDK 文档

返回

FolderIterator - 用户云端硬盘中符合搜索条件的所有文件夹的集合。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

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

已废弃的方法