Javascript 谷歌应用程序脚本,查找文件';s父id(如果图纸中存在)

Javascript 谷歌应用程序脚本,查找文件';s父id(如果图纸中存在),javascript,google-apps-script,Javascript,Google Apps Script,我试图在一个循环中查找(在一个GoogleSheets文件Id列表中)文件的父Id,直到它出现在另一个GoogleSheets中。对于第一代父母来说,一切都没问题,但当我试图让第二代或第三代父母的地位更高时,这就行不通了。我的fileParent是“未定义的”,我不知道为什么第3行我的var文件返回正确的第一个父ID。 ` 我不确定这是最简单的方式找到你的期待,但我认为这是一种方式做到这一点。我使用这些类型的循环来构建目录树,以便访问所有类型的层次数据,并且我还结合了JQuery jstree,

我试图在一个循环中查找(在一个GoogleSheets文件Id列表中)文件的父Id,直到它出现在另一个GoogleSheets中。对于第一代父母来说,一切都没问题,但当我试图让第二代或第三代父母的地位更高时,这就行不通了。我的fileParent是“未定义的”,我不知道为什么第3行我的var文件返回正确的第一个父ID。 `


我不确定这是最简单的方式找到你的期待,但我认为这是一种方式做到这一点。我使用这些类型的循环来构建目录树,以便访问所有类型的层次数据,并且我还结合了JQuery jstree,以便为在计算机上导航的任何人创建一个易于使用的UI。这是代码。如果您不熟悉这种编码,可能需要一段时间才能弄清楚。玩得开心。我合并了引用parentsArray[]的注释。parentsArray[]可以用作一种堆栈,您可以将当前文件夹名称推送到堆栈上或从堆栈中弹出,以便跟踪当前路径或文件夹的父祖先

function traverseFolder(folderObj) 
{
  //parentsArray[parentsArray.length-1] is the immediate parent of the current folderObj.
  //Put folderObj name, size info here
  //Push folderobj name on to parentsArray  
  var subs = folderObj.getFolders();
  var files =  folderObj.getFiles();
  if(files)
  {
    while(files.hasNext())
    {
      var fi = files.next();;
      //Put file name,size,info here
      //parentsArray[parentsArray.length-1] is the immediate parent of all of these files
      //parentsArray[0]/parentsArray[1].../parentsArray[parentsArray.length-1] is the path to this file.
    }
  }
  while (subs.hasNext()) 
  {
    traverseFolder(subs.next());
  }
  //Pop last folderobj off of the parentsArray
}

我们无法提供帮助,因为我们不知道您的桌子是什么样子。您能否记录/显示代码var myFiles=files.getParents()的这一部分中包含哪些myFiles?
function traverseFolder(folderObj) 
{
  //parentsArray[parentsArray.length-1] is the immediate parent of the current folderObj.
  //Put folderObj name, size info here
  //Push folderobj name on to parentsArray  
  var subs = folderObj.getFolders();
  var files =  folderObj.getFiles();
  if(files)
  {
    while(files.hasNext())
    {
      var fi = files.next();;
      //Put file name,size,info here
      //parentsArray[parentsArray.length-1] is the immediate parent of all of these files
      //parentsArray[0]/parentsArray[1].../parentsArray[parentsArray.length-1] is the path to this file.
    }
  }
  while (subs.hasNext()) 
  {
    traverseFolder(subs.next());
  }
  //Pop last folderobj off of the parentsArray
}