"Shared Drive" 在 Google Apps 脚本中的支持

"Shared Drive" support in Google Apps Script

我正在 Google Apps 脚本中编写一个 JavaScript 工具来检查文档的某些属性,例如 "are all links valid"、"are permissions set correctly" 等。我正在使用 https://developers.google.com/apps-script/reference/drive/drive-app 中记录的 API 通过 ID 查找文件、检查它们的权限、在 Google 驱动器中找到它们等,但我发现 "Shared Drives" 不与 API.

配合得不是很好

例如,

特别是第二点现在对我来说是一个障碍,但我在这里错过了什么?是否还有其他 API 我应该使用,或者它只是一个我应该报告的错误?是否有关于 Drive API 的哪些功能我可以和不能与共享驱动器一起使用的一些文档?

使用Advanced Drive Service代替DriveApp

  • 的确,DriveApp不支持共享驱动器,范围有限
  • 但是如果你enable the Advanced Drive Service, yuo will be able to use in Apps Script all methods of the 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});
}