如何检查我的 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;
}
就像我在标题中所说的那样,仅当电子表格位于用户的驱动器上时,我才想 运行 一个 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;
}