Drive Service

云端硬盘

通过此服务,脚本可在 Google Cloud 控制台中创建、查找和修改 Google 云端硬盘。

如果您的脚本使用 标准 Cloud 项目 而不是默认的 Cloud 项目,则必须 手动启用 Drive API。在您的标准 Cloud 项目中,启用 Drive API:

<ph type="x-smartling-placeholder"></ph> 启用 Drive API

以下代码示例展示了如何记录每个文件的名称, 我的云端硬盘文件夹:
// 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());
}

名称简介
Access表示可以访问文件或文件夹的各类用户的枚举,除任何个人之外 已被明确授予访问权限的用户
DriveApp允许脚本创建、查找和修改 Google 云端硬盘中的文件和文件夹。
FileGoogle 云端硬盘中的文件。
FileIterator允许脚本迭代规模可能非常大的文件集合的迭代器。
FolderGoogle 云端硬盘中的文件夹。
FolderIterator可让脚本遍历大量文件夹集合的对象。
Permission一个枚举,表示向可以访问文件或文件夹的用户授予的权限, 任何被明确授予访问权限的单个用户。
User与 Google 云端硬盘中的文件相关联的用户。

Access

属性

属性类型说明
ANYONEEnum互联网上的任何人都可以找到和访问。
ANYONE_WITH_LINKEnum知道链接的任何人都可以访问。
DOMAINEnum您网域中的人可以查找和访问。
DOMAIN_WITH_LINKEnum您网域中知道链接的人可以访问。
PRIVATEEnum只有被明确授予权限的人才能访问。

DriveApp

属性

属性类型说明
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获取用户云端硬盘中与指定搜索匹配的所有文件夹的集合 条件。

File

方法

方法返回类型简介
addCommenter(emailAddress)File将指定用户添加到 File 的评论者列表中。
addCommenter(user)File将指定用户添加到 File 的评论者列表中。
addCommenters(emailAddresses)File将给定的一组用户添加到 File 的评论者列表中。
addEditor(emailAddress)File将指定用户添加到 File 的编辑者列表中。
addEditor(user)File将指定用户添加到 File 的编辑者列表中。
addEditors(emailAddresses)FileFile 的编辑器列表添加给定的一组用户。
addViewer(emailAddress)File将指定用户添加到 File 的查看者列表中。
addViewer(user)File将指定用户添加到 File 的查看者列表中。
addViewers(emailAddresses)File将指定的一组用户添加到 File 的查看者列表。
getAccess(email)Permission获取向指定用户授予的权限。
getAccess(user)Permission获取向指定用户授予的权限。
getAs(contentType)Blob将此对象中的数据作为转换为指定内容类型的 blob 返回。
getBlob()Blob将此对象中的数据作为 blob 返回。
getDateCreated()Date获取 File 的创建日期。
getDescription()String获取 File 的说明。
getDownloadUrl()String获取可用于下载文件的网址。
getEditors()User[]获取此 File 的编辑器列表。
getId()String获取 File 的 ID。
getLastUpdated()Date获取 File 的上次更新时间。
getMimeType()String获取文件的 MIME 类型。
getName()String获取 File 的名称。
getOwner()User获取文件所有者。
getParents()FolderIterator获取一系列是 File 的直接父项的文件夹。
getResourceKey()String获取访问已指定File 已通过链接共享。
getSecurityUpdateEligible()Boolean获取此 File 是否符合应用符合以下条件的安全更新: 需要使用资源密钥进行访问(如果通过链接共享)。
getSecurityUpdateEnabled()Boolean获取此 File 是否需要资源密钥才能访问 通过链接共享。
getSharingAccess()Access获取可以访问 File 的用户类别(除了任何个人用户之外) 已被明确授予访问权限的用户
getSharingPermission()Permission获取向可以访问 File 的用户授予的权限, 以及任何获分了访问权限的单个用户。
getSize()Integer获取用于在云端硬盘中存储 File 的字节数。
getTargetId()String如果这是一个快捷方式,则返回其指向的项的 ID。
getTargetMimeType()String如果这是一个快捷方式,则返回其所指向的项的 MIME 类型。
getTargetResourceKey()String如果文件是一个快捷方式,则返回其指向的项的资源键。
getThumbnail()Blob获取文件的缩略图,如果不存在缩略图,则获取 null
getUrl()String获取可用于在如下 Google 应用中打开 File 的网址: 云端硬盘或文档。
getViewers()User[]获取此 File 的查看者和评论者的列表。
isShareableByEditors()Boolean确定是否允许具有 File 修改权限的用户执行以下操作: 与其他用户共享或更改权限。
isStarred()Boolean确定是否已在用户的云端硬盘中为 File 加星标。
isTrashed()Boolean确定 File 是否在用户的云端硬盘的回收站中。
makeCopy()File创建文件的副本。
makeCopy(destination)File在目标目录中创建文件的副本。
makeCopy(name)File创建文件的副本,并使用提供的名称为其命名。
makeCopy(name, destination)File在目标目录中创建文件的副本,并使用提供的名称为其命名。
moveTo(destination)File将此项内容移到提供的目标文件夹。
removeCommenter(emailAddress)FileFile 的评论者列表中移除指定用户。
removeCommenter(user)FileFile 的评论者列表中移除指定用户。
removeEditor(emailAddress)FileFile 的编辑者列表中移除指定用户。
removeEditor(user)FileFile 的编辑者列表中移除指定用户。
removeViewer(emailAddress)FileFile 的查看者和评论者列表中移除指定用户。
removeViewer(user)FileFile 的查看者和评论者列表中移除指定用户。
revokePermissions(emailAddress)File撤消向指定用户授予的 File 访问权限。
revokePermissions(user)File撤消向指定用户授予的 File 访问权限。
setContent(content)File使用指定的替换项覆盖文件的内容。
setDescription(description)File设置 File 的说明。
setName(name)File设置 File 的名称。
setOwner(emailAddress)File更改 File 的所有者。
setOwner(user)File更改 File 的所有者。
setSecurityUpdateEnabled(enabled)File设置 File 是否需要资源密钥才能访问 通过链接共享。
setShareableByEditors(shareable)File设置是否允许具有 File 修改权限的用户进行共享 与其他用户共享或更改权限。
setSharing(accessType, permissionType)File设置哪些类别的用户可以访问 File 以及哪些权限 除了任何被明确授予访问权限的单个用户外,系统还会向这些用户授予相应权限。
setStarred(starred)File设置是否在用户的云端硬盘中为 File 加星标。
setTrashed(trashed)File设置 File 是否在用户的云端硬盘的回收站中。

FileIterator

方法

方法返回类型简介
getContinuationToken()String获取可用于稍后恢复此迭代的令牌。
hasNext()Boolean确定调用 next() 是否会返回项。
next()File获取文件或文件夹集合中的下一项。

Folder

方法

方法返回类型简介
addEditor(emailAddress)Folder将指定用户添加到 Folder 的编辑者列表中。
addEditor(user)Folder将指定用户添加到 Folder 的编辑者列表中。
addEditors(emailAddresses)FolderFolder 的编辑器列表添加给定的一组用户。
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 是否符合应用符合以下条件的安全更新: 需要使用资源密钥进行访问(如果通过链接共享)。
getSecurityUpdateEnabled()Boolean获取此 Folder 是否需要资源密钥才能访问 通过链接共享。
getSharingAccess()Access获取可以访问 Folder 的用户类别(除了任何个人用户之外) 已被明确授予访问权限的用户
getSharingPermission()Permission获取向可以访问 Folder 的用户授予的权限, 以及任何获分了访问权限的单个用户。
getSize()Integer获取用于在云端硬盘中存储 Folder 的字节数。
getUrl()String获取可用于在如下 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)Folder设置 Folder 的说明。
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 是否在用户的云端硬盘的回收站中。

FolderIterator

方法

方法返回类型简介
getContinuationToken()String获取可用于稍后恢复此迭代的令牌。
hasNext()Boolean确定调用 next() 是否会返回项。
next()Folder获取文件或文件夹集合中的下一项。

Permission

属性

属性类型说明
VIEWEnum有权访问文件或文件夹的用户只能查看或复制。
EDITEnum有权访问文件或文件夹的用户都可以进行编辑。
COMMENTEnum对文件或文件夹拥有访问权限的用户只能进行查看、复制或评论。
OWNEREnum用户是文件或文件夹的所有者。
ORGANIZEREnum可以在共享云端硬盘中整理文件和文件夹的用户。
FILE_ORGANIZEREnum可以在共享云端硬盘中编辑内容、将内容移至回收站以及移动内容的用户。
NONEEnum用户没有任何文件或文件夹的权限。

User

方法

方法返回类型简介
getDomain()String获取与用户的账号关联的域名。
getEmail()String获取用户的电子邮件地址。
getName()String获取用户的名称。
getPhotoUrl()String获取用户照片的网址。