为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

HUX布斯 2022-10-08 14:43:07
我正在 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 回答

?
芜湖不芜

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});

}


查看完整回答
反对 回复 2022-10-08
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信