如何移动 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。请注意这一点。
参考文献:
我需要使用 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。请注意这一点。