有没有更省时的方法来检查文件的根目录是“我的驱动器”还是“团队驱动器”?
我尝试过使用file.getParents();
然后遍历每个父级,最后到 Root,但这太耗时了。
有没有更省时的方法来检查文件的根目录是“我的驱动器”还是“团队驱动器”?
我尝试过使用file.getParents();
然后遍历每个父级,最后到 Root,但这太耗时了。
当文件在团队云端硬盘中时,所有者是团队云端硬盘,而不是任何特定用户。
您可以检查文件的所有权,如果将其设置为 null,则该文件可能位于团队云端硬盘中。
var file = DriveApp.getFileById("fileID");
if (file.getOwner() === null) {
// do something here
}
如果您正在使用Drive
高级服务,您可以直接查询团队云端硬盘信息:
例子:
function getTeamDriveId(fileId) {
const options = {
fields: "id,title,teamDriveId",
};
const file = Drive.Files.get(fileId, options);
return file.teamDriveId;
}
对于不在团队云端硬盘中的文件,上述 id 将为 false-y。
有几个元数据字段可供查询,这些字段仅存在或不存在于团队云端硬盘项目中。请务必注意您使用的 API 版本,因为资源名称在 2 和 3 之间发生了变化。在测试是否存在Boolean
字段或其他可能为 false-y 的字段时,使用严格的比较也很重要。
缺席的:
当下:
参考: