我正在 Google Apps Script 中编写一个 JavaScript 工具来检查文档的某些属性,例如“所有链接都有效”、“权限设置是否正确”等等。我正在使用https://developers.google.com/apps-script/reference/drive/drive-app中记录的 API 按 ID 查找文件、检查其权限、在 Google Drive 等中定位它们,但我发现“共享驱动器”不能很好地与该 API 配合使用。例如,对于共享驱动器的根文件夹,Folder.getName()仅返回“驱动器”而不是驱动器的名称,即使mygroup@domain.com是共享驱动器的“经理”,folder.getAccess('mygroup@domain.com')也是 NONE 并且folder.getViewers()是空的,共享驱动器中的某些文件夹不(总是)包含在DriveApp.getFolders()迭代器中。特别是第二点现在对我来说是一个障碍,但我在这里错过了什么?我应该使用其他一些 API,还是我应该报告它只是一个错误?是否有一些关于Drive我可以和不能与共享驱动器一起使用的 API 功能的文档?
1 回答
芜湖不芜
使用Advanced Drive Service而不是
TA贡献1796条经验 获得超7个赞
使用Advanced Drive Service而不是DriveApp
实际上,共享驱动器
DriveApp
不受范围限制但是,如果您启用,您
Advanced Drive Service
将能够在 Apps Script 中使用支持共享驱动器的Drive API v2的所有方法
样本:
function myFunction() {
var sharedDriveName = Drive.Drives.get("XXXXXXXXXXXXXXXXXXX").name;
//it is important to specify that the folder is located on a shared drive with {"supportsAllDrives": true}
var folderOnDriveName = Drive.Files.get("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",{"supportsAllDrives": true}).title;
var folderPermissions = Drive.Permissions.list("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",{"supportsAllDrives": true});
}
添加回答
举报
0/150
提交
取消