我正在使用 Google Apps Script 和 Drive API V2(我认为 V3 还没有在脚本中可用)在 Team Drive 内自动创建文件。我想用脚本添加编辑器但没有成功。
FolderIterator
我可以使用标准DriveApp
方法访问团队云端硬盘和子文件夹。
尝试 1
function addUserToTeam(email, folders) {
// Open the team drive and get all the folders
var teamFolders = DriveApp.getFolderById('TEAMDRIVEIDSTRING').getFolders();
var folders = ["folderIdToMatch"] // This may hold multiple folders
try {
// Loop an array of folder IDs
for(var i=0; i<folders.length; i++) {
// Check the team drive folders for a matching name
while(teamFolders.hasNext()) {
var teamFolder = teamFolders.next();
if(folders[i] == teamFolder.getId()) {
teamFolder.addEditor(email);
}
}
}
} catch(e) {
Logger.log(e);
}
}
这失败了Exception: Cannot use this operation on a Team Drive item
。
尝试 2
我通过替换资源尝试teamFolder.addEditor(email)
了Drive API:Permissions
if(folders[i] == teamFolder.getId()) {
var resource = {
"type":"user",
"role":"writer",
"value": email
}
Drive.Permissions.insert(resource, teamFolder.getId());
}
这失败并出现File not found
错误。
我可以找到带有DriveApp
方法的文件夹(或文件)。任何与 Drive API 相同的尝试都会失败。
我找不到任何说明 API 无法访问团队云端硬盘文件的文档。我的方法有问题吗?