这是我的代码,重点是传入一个文件夹ID并让它记录该文件夹中所有出现的给定文件名:
function SearchFiles(SourceID)
{
var source = DriveApp.getFolderById(SourceID);
var searchFor ='title contains "Desired File Name"';
var names =[];
var Dates=[];
var files = source.searchFiles(searchFor);
while(files.hasNext())
{
var file = files.next();
var date = file.getDateCreated();
Dates.push(date);
var name = file.getName();
names.push(name);
}
for (var i=0;i<names.length;i++)
{
Logger.log(names[i]);
Logger.log(Dates[i]);
}
}
SearchFiles("ID Here");
问题是,当运行此代码时,我收到错误&#34;找不到具有给定ID的项目,或者您无权访问它。&#34;尽管确保ID正确并且我拥有正确的权限。但是,如果我将正确的ID直接放入getFolderById函数而不是变量,那么它都能正常工作而不会出错。什么阻止我使用变量?
答案 0 :(得分:1)
你在运行哪个功能?我猜你在点击运行时正在运行SearchFiles
功能。在另一个函数中调用SearchFiles
函数并运行该函数,如下所示:
function myFunction() {
SearchFiles("Folder ID");
}
function SearchFiles(SourceID)
{
var source = DriveApp.getFolderById(SourceID);
var searchFor ='title contains "Desired File Name"';
var names =[];
var Dates=[];
var files = source.searchFiles(searchFor);
while(files.hasNext())
{
var file = files.next();
var date = file.getDateCreated();
Dates.push(date);
var name = file.getName();
names.push(name);
}
for (var i=0;i<names.length;i++)
{
Logger.log(names[i]);
Logger.log(Dates[i]);
}
}
运行myFunction
,它应该按预期工作: