我在Google云端硬盘中有一个文件夹,其中有一些文件。我想检索所有这些文件信息,仅此而已。其他文件夹中还有许多其他文件,但我不需要它们。但是,我的以下代码显示了所有文件的名称。如何将结果仅限制为指定文件夹中的文件?
3306
目前,此文件夹中只有4个文件,但日志显示了我的Google云端硬盘中的整个文件名。我不知道自己在做什么错,因为我指定的ID是文件夹。它如何返回Google云端硬盘中的每个文件?
答案 0 :(得分:2)
您的代码已经很好用了!
Google Apps脚本不允许运行全局代码,因为需要声明和运行特定功能,至少与本地运行的代码不同。全局变量是静态的,不能在运行时更改。
正如Cooper在他们的评论中提到的那样-您所需要做的就是将代码放入函数中,调用该函数并进行设置。该代码很好用:
function functionName(){
var myFolderId = "XXXXXXXXXXXXXXXXXXXXXXXXX";
var files = DriveApp.getFolderById(myFolderId).getFiles();
while(files.hasNext())
{
var file = files.next();
Logger.log(file.getName());
}
}
作为旁注:如果您确实想要使用全局范围(或至少使用它的模拟),尽管您可以使用PropertiesService仍然必须在函数中设置它们并运行函数以检索它们:
function setVars(){
PropertiesService.getScriptProperties().setProperty('myFolderId', 'XXXXXXXXXXXXXXXXXXXXXXXXX');
}
function listFiles(){
var files = DriveApp.getFolderById(PropertiesService.getScriptProperties().getProperty('myFolderId')).getFiles();
//continue this code
}