查找当前 Google Apps 电子表格的文件夹 ID

mur*_*rph 4 google-apps-script

在绑定到 Google Sheet 的脚本中,如何知道包含当前工作表的文件夹的 ID(不是名称)?我想做这个:

var files = DriveApp.getFolderById('0B9momRZYw4DVTlJVeXNpX25BemM').getFiles();

但使用代表文件夹 ID 的变量,如下所示:

var files = DriveApp.getFolderById(folderId).getFiles();

问题是我不知道如何获取父文件夹的 ID。我意识到当前工作表可能驻留在几个不同的文件夹中(我的没有),但肯定有某种方法可以获取文件夹的 ID?

Ser*_*sas 7

使用DriveApp getParents()方法非常简单。代码是这样的:

function getParentFolder(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var file = DriveApp.getFileById(ss.getId());
  var folders = file.getParents();
  while (folders.hasNext()){
    Logger.log('folder name = '+folders.next().getName());
  }
}
Run Code Online (Sandbox Code Playgroud)

folders.next().getId()获得的文件夹(S)ID(S)。

在此处输入图片说明

  • 请注意,这几乎是另一篇文章的重复(http://stackoverflow.com/questions/17582161/google-apps-spreadsheet-parents-folder-id?rq=1),但我回答它以显示更新版本Mogsdad 的代码使用(现已)已弃用的服务。 (2认同)