首页 > 解决方案 > 通过 Apps 脚本中的 url 获取 Drive 文件夹

问题描述

我正在尝试从 from 自动化流程。基本上有人为特定客户(学校)征集文件。我需要在该 shcool 的现有文件夹中创建的文件的副本。问题是,当我们填写征集表时,我们要求提供驱动器文件夹 url,我似乎无法从该 url 获取 id,也无法从该 url 访问文件夹:

    function intialEv() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form Responses 1');
  var lastRow = ss.getLastRow();
  var data = ss.getRange(lastRow,1,lastRow,11).getValues();
  var folderUrl = data[0][7];
  var date = new Date().getMonth();
  var lang = data[0][8];
  var contact = data[0][10];
  var schoolName = data[0][3];
  var coord = data[0][5];

  // Make a copy of a decoy sheet, setting same name with school and date, copy being created in the destination folder signaled.
  var newSheet = DriveApp.getFileById('1K_QuWNa4OPjlC0S3R76XBILQkqd6kh54hRcXVqruVto').makeCopy("Evaluación Previa_" + schoolName + "_" + date, folderUrl);

当我记录 folderUrl 时,它会返回整个 url。有没有办法提取id?或者更快,通过 url 获取相关文件夹?

标签: google-apps-scriptdrive

解决方案


您的文件夹 URL 看起来像这样吗?

https://drive.google.com/drive/folders/0BzBleEfbQeCuUWs3UFwySTJ7LTf

如果他们这样做,试试这个:

const folder = DriveApp.getFolderById(folderUrl.replace(/^.+\//, ''));

相关问题:

参考:


推荐阅读