检查ID是否是使用GAS的文件或文件夹



我有几个ID,有些是文件ID,有些则是文件夹ID

我需要一种最快的方法来查找id是文件夹类型还是文件类型。

isFolder(id(必须返回true或false

function isFolder(id)
{
return //true if id is a folder, false if thats a file
}

有一个Apps Script方法getFolderById((

它应该抛出

如果文件夹不存在或用户没有访问权限,则会出现脚本异常。

但显然存在一个错误,因为如果将非文件夹的id传递给该方法,该方法不会引发异常。可能与此问题有关。

因此,您将无法查询mimeType。

然而,将mimeType与"application/vnd.google-apps.folder"进行比较就像查询文件类型为folder一样——毕竟,对于谷歌来说,文件夹和其他文件类型一样。

var file = DriveApp.getFileById(id);
if(file.getMimeType()=="application/vnd.google-apps.folder"){
return file;
}

注:

如果需要,您可以使用getFolders方法将驱动器的所有文件夹id推送到一个数组中,然后查询数组中包含的当前文件id,但在大多数情况下,这不会更快。

最新更新