如何在Google驱动器中移动快捷方式

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

我需要使用Google Apps脚本将快捷方式文件从一个目标移动到另一个目标。通常我会像这样移动文件或文件夹:

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)

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

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

这个答案怎么样?

修改点:

  • 似乎在当前阶段,无法使用Drive服务移动快捷方式。我认为这可能在将来的更新中解决。
    • 因此,作为当前的解决方法,在这个答案中,我建议使用“文件:补丁” Drive API v2的方法,因为使用了高级Google服务的Drive API。

修改脚本后,请进行如下修改。

修改的脚本:

运行脚本之前,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时,文件ID为原始文件的ID。请注意这一点。

参考:

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