在我的云端硬盘中创建文件副本,并将其放置在同一域中的其他用户的云端硬盘中

问题描述 投票:1回答:1

我如何做到这一点,当员工运行脚本以创建文件副本并将其分发到其他文件夹时,还可以将其放在其他员工驱动器上的文件夹中吗?我们在同一个域中,并使用G Suite。

我的脚本用于时间表。它应该:

  1. 创建副本,在名称后加上用户名和时间戳,然后将副本放置在员工驱动器上的文件夹中,以便他们拥有副本,
  2. 重复此操作并将第二份副本放置在我的云端硬盘上的文件夹中,这样我就可以拥有副本而无需员工共享,因此员工以后无法编辑我的副本了>
  3. 当我自己进行测试时,效果很好。然后,我与同一个域的同事以及我的个人Google帐户共享了该文件。我们都在云端硬盘(他的工作云端硬盘,我的个人云端硬盘)上创建了一个副本。然后,我们不再使用原始版本。这是有意的,因为我不希望员工接触原始文件。当我们运行脚本时,它无法在我们的云端硬盘或我的工作云端硬盘上创建副本。

“例外:找不到具有给定ID的项目,或者您没有访问权限。”

到目前为止是我的代码:

function submit() {
  //variables
  var ss = SpreadsheetApp.getActive();
  var destFolderMgr = DriveApp.getFolderById(my folder id is here);
  var destFolderEmp = DriveApp.getFolder;
  var empName = Session.getActiveUser()
  var timeStamp = Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone(), 'MM-dd-yyyy');
  var newName = ss.getName() + " " + empName + " " + timeStamp;

  //copy sheet
  //append name with today's date and employee name
  //place in employee's folder
  DriveApp.getFileById(ss.getId()).makeCopy(newName,destFolderEmp)

  //copy sheet
  //append name with today's date and employee name
  //place in manager's folder
  DriveApp.getFileById(ss.getId()).makeCopy(newName,destFolderMgr)

}

我如何做到这一点,当员工运行脚本以创建文件副本并将其分发到其他文件夹时,还可以将其放在其他员工驱动器上的文件夹中吗?我们在同一个...

google-apps-script google-drive-api
1个回答
1
投票

问题:

© www.soinside.com 2019 - 2024. All rights reserved.