Google云端硬盘映射脚本返回错误

时间:2016-08-14 22:25:16

标签: javascript google-apps-script

我目前正在开发一个简短的小脚本,最终结果是它返回了我的Google云端硬盘的文件和文件夹结构或其中的某个文件夹。我有一个基本的框架,它正在开始合理地运作:

function folderMap() {
var rootFolder=DriveApp.getFolderById("arbitraryFolderId");
var rootFiles=[];
var rootFolders=[];
var root=[rootFolders,rootFiles];
var i;  
getChildren(rootFolder,root);
Logger.log(root);
 if(rootFolders!==null){
  for(i=0;i<rootFolders.length;i++){
   var tempName=rootFolders[i].getName();
   eval("var "+tempName+"Object=nextObject("+tempName+");");
   getChildren(rootFolders[i],eval(tempName+"Object"));
   Logger.log(tempName); 
   }
 }
}

function getChildren(parent,parentObject){
var folders= parent.searchFolders('');
while (folders.hasNext()) {
 var folder = folders.next();
 parentObject[0].push(folder); 
}
var files= parent.searchFiles('');
while (files.hasNext()) {
var file = files.next();
parentObject[1].push(file); 
}  
}

function nextObject(name){
var dynamic= name;
eval("var "+dynamic+"Folders=[];");
eval("var "+dynamic+"Files=[];");
var dummy=eval("var "+dynamic+"=["+dynamic+"Folders,"+dynamic+"Files];");
return dummy;  
}

但是,这会返回错误SyntaxError: Missing ; before statement. (line 12, file "Code") 我已经尝试在此行之前添加额外的分号,调整括号并通常摆弄代码但我没做什么似乎解决了这个错误。

是否有一些非常简单的事情,我盯着我失踪的脸?

非常感谢任何帮助。

谢谢

编辑:为了澄清,第2行中的arbitraryFolderId被文件夹的字符串ID替换,但是,我的作品域管理员已经要求我们不公开共享文件或文件夹ID;无论他们的共享权限如何。

0 个答案:

没有答案