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