Google 云端硬盘中的文件夹。您可以通过 DriveApp
访问或创建文件夹。
// Log the name of every folder in the user's Drive. var folders = DriveApp.getFolders(); while (folders.hasNext()) { var folder = folders.next(); Logger.log(folder.getName()); }
方法
详细文档
addEditor(emailAddress)
addEditor(user)
addEditors(emailAddresses)
addViewer(emailAddress)
addViewer(user)
addViewers(emailAddresses)
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.getRootFolder().createFile(blob);
参数
名称 | 类型 | 说明 |
---|---|---|
blob | BlobSource | 新文件的数据。 |
返回
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!');
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 新文件的名称。 |
content | String | 新文件的内容。 |
返回
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);
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 新文件的名称。 |
content | String | 新文件的内容。 |
mimeType | String | 新文件的 MIME 类型。 |
返回
File
- 新文件。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/drive
createFolder(name)
createShortcut(targetId)
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)
为提供的云端硬盘内容 ID 和资源密钥创建快捷方式,并将其返回。资源 key 是一个附加参数,需要传递该参数,以访问 已通过链接共享。
// 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()); }
参数
名称 | 类型 | 说明 |
---|---|---|
targetId | String | 目标文件或文件夹的 ID。 |
targetResourceKey | String | 目标文件或文件夹的资源密钥。 |
返回
File
- 新的快捷方式。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/drive
getAccess(email)
获取向指定用户授予的权限。
参数
名称 | 类型 | 说明 |
---|---|---|
email | String | 要检查其权限的用户的电子邮件地址 |
返回
Permission
- 授予用户的权限
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getAccess(user)
获取向指定用户授予的权限。
参数
名称 | 类型 | 说明 |
---|---|---|
user | User | 表示应检查其权限的用户 |
返回
Permission
- 授予用户的权限
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getDateCreated()
getDescription()
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 (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)
获取属于当前文件夹的子文件夹且具有指定名称的所有文件的集合。
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 要查找的文件的名称。 |
返回
FileIterator
- 属于当前文件夹的子项且具有指定名称的所有文件的集合。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFilesByType(mimeType)
获取属于当前文件夹的子文件夹且具有指定 MIME 类型的所有文件的集合。
参数
名称 | 类型 | 说明 |
---|---|---|
mimeType | String | 要查找的文件的 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)
获取属于当前文件夹的子文件夹且具有指定名称的所有文件夹的集合。
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 要查找的文件夹的名称。 |
返回
FolderIterator
- 属于当前文件夹的子文件夹且具有指定名称的所有文件夹的集合。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getId()
getLastUpdated()
getName()
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());
返回
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
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()
getSecurityUpdateEligible()
获取此 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()
getSharingPermission()
获取向可以访问 Folder
的用户授予的权限,
以及任何获分了访问权限的单个用户。
返回
Permission
- 授予可访问 Folder
的用户的权限
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getSize()
getUrl()
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 (viewer of viewers) { console.log(viewer.getName()); }
返回
User[]
- 此 Folder
的查看者和评论者列表(如果用户有修改内容)
访问,否则返回空数组。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
isStarred()
isTrashed()
moveTo(destination)
removeEditor(emailAddress)
removeEditor(user)
removeViewer(emailAddress)
removeViewer(user)
revokePermissions(emailAddress)
revokePermissions(user)
searchFiles(params)
获取属于当前文件夹的子项并与指定搜索匹配的所有文件的集合 条件。Google 云端硬盘 SDK 文档中详细说明了搜索条件。请注意,云端硬盘 服务使用 v2 的 Drive API,并且某些查询字段与 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."" var files = DriveApp.getRootFolder().searchFiles( 'modifiedDate > "2022-02-28" and title contains "untitled"'); while (files.hasNext()) { var file = files.next(); console.log(file.getName()); }
参数
名称 | 类型 | 说明 |
---|---|---|
params | String | 搜索条件,如 Google 云端硬盘 SDK 文档中所述。 |
返回
FileIterator
- 属于当前文件夹的子项且符合搜索条件的所有文件的集合
条件。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
searchFolders(params)
获取属于当前文件夹的子文件夹并与指定搜索匹配的所有文件夹的集合 条件。Google 云端硬盘 SDK 文档中详细说明了搜索条件。请注意,云端硬盘 服务使用 v2 的 Drive API,并且某些查询字段与 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. var folders = DriveApp.getRootFolder().searchFolders('starred = true and "me" in owners'); while (folders.hasNext()) { var folder = folders.next(); console.log(folder.getName()); }
参数
名称 | 类型 | 说明 |
---|---|---|
params | String | 搜索条件,如 Google 云端硬盘 SDK 文档中所述。 |
返回
FolderIterator
- 属于当前文件夹的子文件夹且与搜索条件匹配的所有文件夹的集合
条件。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
setDescription(description)
setName(name)
setOwner(emailAddress)
setOwner(user)
setSecurityUpdateEnabled(enabled)
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.) var folder = DriveApp.createFolder('Shared Folder'); folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);
参数
名称 | 类型 | 说明 |
---|---|---|
accessType | Access | 哪类用户应该能够访问Folder |
permissionType | Permission | 应该向有权访问 Folder 的用户授予的权限 |
返回
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/drive