如何检查我的 GoogleSpreadsheet 是在我的驱动器中还是在 teamdrive 中?

How can I check that my GoogleSpreadsheet is in my drive or in a teamdrive?

就像我在标题中所说的那样,仅当电子表格位于用户的驱动器上时,我才想 运行 一个 Google 应用程序脚本链接到一个 google 电子表格,因为我使用位于 teamdrive 上的电子表格模板,规则是用户必须在其本地驱动器上复制一份 运行 脚本。所以我想知道是否可以使用文件 ID 来检查我是否在 teamdrive 中?

感谢您的回答

对于 fileId 本身,您无法知道它是否是共享驱动器的一部分。

但是,您可以使用 DriveApp 获取文件本身,最重要的是,它的 permission。为了检查文件是否在个人驱动器中(并且由发出请求的用户拥有),您必须确保权限实际上是 OWNER。您可以使用 GAS 执行此操作,如下所示:

function isInPersonalDrive(fileId) {
  var file = DriveApp.getFileById(fileId);
  return file.getAccess(Session.getActiveUser()) === DriveApp.Permission.OWNER;
}