用于管理文件和文件夹,包括自定义属性和修订版本。
通过高级 Drive 服务,您可以在 Google Apps 脚本中使用 Google Drive API。与 Apps 脚本的内置云端硬盘服务非常相似,此 API 允许脚本在 Google 云端硬盘中创建、查找和修改文件及文件夹。在大多数情况下,内置服务更易于使用,但此高级服务提供了一些额外的功能,包括访问自定义文件属性以及文件和文件夹的修订版本。
这是一项高级服务,必须先启用才能使用。
参考
如需详细了解此服务,请参阅 Drive API 的参考文档。与 Apps 脚本中的所有高级服务一样,高级 Drive 服务使用的对象、方法和参数均与公共 API 相同。如需了解详情,请参阅方法签名是如何确定的。
此外,由于 delete 是 JavaScript 中的保留字,因此在高级服务(例如 Drive.Permissions.remove())中,Drive API 中名为 delete 的方法会命名为 remove。
如需报告问题并寻求其他支持,请参阅 Drive API 支持指南。
示例代码
本部分中的代码示例使用 API 的第 3 版。
上传文件
以下代码示例展示了如何将文件保存到用户的云端硬盘。
创建文件夹
以下代码示例展示了如何在 Google 云端硬盘中创建文件夹。
/**
* Creates a new folder.
*/
function createFolder() {
var folderMetadata = {
'name': 'New Folder',
'mimeType': 'application/vnd.google-apps.folder'
};
var folder = Drive.Files.create(folderMetadata);
Logger.log('Folder ID: ' + folder.id);
}
搜索文件
以下代码示例展示了如何使用查询字符串搜索文件。
/**
* Searches for files with a specific name.
*/
function searchFiles() {
var query = 'name contains "Project Plan" and trashed = false';
var files = Drive.Files.list({
'q': query,
'fields': 'files(id, name, mimeType)'
});
if (files.files && files.files.length > 0) {
for (var i = 0; i < files.files.length; i++) {
var file = files.files[i];
Logger.log('%s (ID: %s)', file.name, file.id);
}
} else {
Logger.log('No files found.');
}
}
列出文件夹
以下代码示例展示了如何列出用户云端硬盘中的顶级文件夹。请注意,我们使用了页面令牌来访问完整的结果列表。
列出修订版本
以下代码示例展示了如何列出指定文件的修订版本。请注意,某些文件可能包含多个修订版本,您应使用网页令牌来访问完整的结果列表。
添加文件属性
以下代码示例使用 appProperties 字段向文件添加自定义属性。自定义属性仅对脚本可见。如需向文件添加其他应用也能看到的自定义属性,请改用 properties 字段。如需了解详情,请参阅添加自定义文件属性。
向文件添加用户
以下代码示例展示了如何将用户添加为文件的编辑者并禁止发送电子邮件通知。
/**
* Adds a user to a file as an editor without sending an email notification.
*/
function addEditor() {
var fileId = '1234567890abcdefghijklmnopqrstuvwxyz';
var userEmail = 'bob@example.com';
var request = {
'role': 'writer',
'type': 'user',
'emailAddress': userEmail
};
Drive.Permissions.create(request, fileId, {
'sendNotificationEmail': false
});
}