Google Apps 脚本中的“共享驱动器”支持

我正在 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 功能的文档?


HUX布斯
浏览 86回答 1
1回答

芜湖不芜

使用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});}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript