如何移动 google 驱动器中的快捷方式

How to move a shortcut in google drive

我需要使用 google 应用程序脚本将快捷方式文件从一个目的地移动到另一个目的地。 通常我会像这样移动文件或文件夹:

function move(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sStamdata = ss.getSheetByName("New");
  var folderOld = DriveApp.getFolderById(folderOldId);
  var destination = DriveApp.getFolderById(folderId);
  var id = sStamdata.getRange('D77').getValue();
  var file = DriveApp.getFileById(id);

     folderOld.removeFile(file)
     destination.addFile(file)

但这不适用于快捷方式。有什么想法吗?

这个答案怎么样?

修改点:

  • 似乎在当前阶段,无法使用Drive服务移动快捷方式。我认为这可能会在未来的更新中得到解决。
    • 所以作为目前的解决方法,在这个答案中,我想建议使用"Files: patch" Drive API v2的方法,因为Drive API of Advanced [=56] =] 使用服务。

当您的脚本修改时,请修改如下。

修改后的脚本:

在你 运行 脚本之前,please enable Drive API at Advanced Google services

function move(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sStamdata = ss.getSheetByName("New");
//  var folderOld = DriveApp.getFolderById(folderOldId);
//  var destination = DriveApp.getFolderById(folderId);
  var id = sStamdata.getRange('D77').getValue();
//  var file = DriveApp.getFileById(id);

  Drive.Files.patch({parents: [{id: folderId}]}, id);  // Added
}
  • folderId 是目标文件夹 ID。
  • 请再次确认快捷方式的文件ID。

注:

  • 例如,当快捷方式的文件ID使用浏览器与共享link确认时,文件ID是原始文件的ID。请注意这一点。

参考文献: