我正在Google Apps脚本中编写JavaScript工具,以检查文档的某些属性,例如“所有链接是否有效”,“权限设置是否正确”等等。我正在使用https://developers.google.com/apps-script/reference/drive/drive-app中记录的API来按ID查找文件,检查其权限,在Google云端硬盘中找到它们等。但是我发现“共享驱动器”与该API不能很好地配合使用。 / p>
例如,
Folder.getName()
仅返回“驱动器”而不是驱动器的名称,mygroup@domain.com
是共享驱动器的“管理器”,folder.getAccess('mygroup@domain.com')
也没有,而folder.getViewers()
为空,DriveApp.getFolders()
迭代器中(始终)不包括“共享驱动器”中的某些文件夹。特别是第二点现在对我来说是一个障碍,但是我在这里想念的是什么?我还应该使用其他一些API,还是仅仅是应该报告的错误?是否有一些文档说明我可以和不能与共享驱动器一起使用Drive
API的哪些功能?
答案 0 :(得分:2)
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});
}