【问题标题】:How to move a shortcut in google drive如何在谷歌驱动器中移动快捷方式
【发布时间】:2020-06-01 19:17:08
【问题描述】:

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

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】:

这个答案怎么样?

修改点:

  • 当前阶段似乎无法使用Drive服务移动快捷方式。我认为这可能会在未来的更新中得到解决。
    • 所以作为目前的解决方法,在这个答案中,我想建议使用“文件:补丁”Drive API v2的方法,因为使用了高级谷歌服务的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。请注意这一点。

参考资料:

【讨论】:

  • 一如既往地准备好答案。谢谢!对我来说还有很多东西要学......
  • @Kasper Egelund 感谢您的回复。我很高兴你的问题得到了解决。也谢谢你。
猜你喜欢
  • 1970-01-01
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多