Google 父文件夹中的代码(驱动器)createFile folder/overwrite 父文件夹中的现有文件

Google Code (Drive) createFile in parent folder/overwrite existing file in parent folder

所以我创建了一个简单的 google 代码,将 sheet 导出到 json,我想知道是否有一种简单的方法可以:

干杯

没有简单的方法,但方法如下(我假设您使用的是 Apps 脚本):

  1. 获取电子表格的文件 ID https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#getId()
  2. 获取其父文件夹 - 可以有多个 - https://developers.google.com/apps-script/reference/drive/file#getParents()
  3. 查看是否存在同名文件 - 可以有多个 - https://developers.google.com/apps-script/reference/drive/folder#getFilesByName(String)
  4. 如果存在则设置其内容https://developers.google.com/apps-script/reference/drive/file#setcontentcontent
  5. 如果不存在则创建它 - https://developers.google.com/apps-script/reference/drive/folder#createfilename-content

感谢 Ian 提供的研究链接,使其有效:)

如果其他人需要同样的东西,这里是代码片段

  var _ID = SpreadsheetApp.getActiveSpreadsheet().getId();
  var _sheet = SpreadsheetApp.getActiveSpreadsheet();
  var _file = DriveApp.getFolderById(_ID);
  var _folder = _file.getParents().next();  
  var _parentFolder = _file.getParents().next();
  var _existingJsons = _parentFolder.getFilesByName(sheet.getName()+".json");

  // if .json with the same name already exists in this directory, just overwrite content
  if (_existingJsons.hasNext()){
    while (_existingJsons.hasNext() ){
      var _json = _existingJsons.next();
      _json.setContent(output);
      Logger.log(_json.getName());
    }
  } 
  // if not, create new one, and move it in the same folder sheet is in
  else {
    var _json = DriveApp.createFile(sheet.getName()+".json", output, MimeType.PLAIN_TEXT);
    _json.makeCopy(_parentFolder);
    _json.setTrashed(true);
  }