Google apps script 如何使用谷歌应用程序脚本搜索文件夹
我犯了一个简单的错误,或者我们不能在DriveApp上使用.searchFiles方法搜索文件夹吗? 我有一个更复杂的搜索参数,但在这个例子中我简化了它Google apps script 如何使用谷歌应用程序脚本搜索文件夹,google-apps-script,google-drive-api,Google Apps Script,Google Drive Api,我犯了一个简单的错误,或者我们不能在DriveApp上使用.searchFiles方法搜索文件夹吗? 我有一个更复杂的搜索参数,但在这个例子中我简化了它 function getFolders() { var searchParams = 'mimeType = "application/vnd.google-apps.folder"'; var searchFiles = DriveApp.searchFiles(searchParams); if (searchFiles
function getFolders()
{
var searchParams = 'mimeType = "application/vnd.google-apps.folder"';
var searchFiles = DriveApp.searchFiles(searchParams);
if (searchFiles.hasNext())
{
// Do Something
}
else
{
// Error
Logger.log("No folders found");
}
}
文档中声明它返回一个FileIterator,但更多信息请参考Google Drive SDK
在这里的搜索参数中,我们可以指定它是否是文件夹
是否有用于搜索文件夹名称的选项?搜索文件方法仅返回文件。根据GasAPI,这种方法用于“获取当前文件夹的所有子文件的集合,并与给定的搜索条件相匹配。”参见 要按文件夹名称查找文件夹,请使用下面的代码:
function getFolders(folderName)
{
var folders = DriveApp.getFolders();
while (folders.hasNext()) {
var folder = folders.next();
if(folderName == folder.getName()) {
return folder;
}
}
return null;
}
最终使用DocsList而不是DriveApp br araujo的上述解决方案回答了原始问题,因此我将其标记为答案
使用DocsList的问题是它返回的文件夹类型与DriveApp不兼容。为了使它们兼容,我们只需在函数调用之间传递Id,而不是在对象之间传递Id。DocList不推荐使用。