google-apps-script - 使用 DriveApp 移动文件或文件夹
问题描述
真的,没有办法使用 DriveApp 类移动文件或文件夹?
根据我在文档和 StackOverflow 上收集到的回答的问题,所有提议的实现似乎都将文件复制到另一个位置,然后删除原始文件。这将导致至少两个问题:
- 目标上具有不同 folderId 的文件/文件夹;
- 根据保留政策,文件/文件夹被无限期地复制并存储在 Google 保险柜中。
我一定做错了什么。为什么没有一种方法可以简单地将文件/文件夹移动到另一个目的地(由 Drive Web UI 提供)?
谢谢,
解决方案
使用 DriveApp 移动文件时,您需要从文件夹而不是文件中工作。
打开要将文件移动到的文件夹并使用“addFile(file)”方法将文件添加到该文件夹,然后打开要从中移动文件的文件夹并使用“removeFile(file)”将其删除.
这可能看起来有点笨拙,但实际上可以在云端硬盘上一次在多个文件夹中保存一个文件。文件夹实际上只是标签。在考虑已经在多个文件夹中的文件时,将其“移动”到新文件夹的含义有点模糊,实际上是从文件夹中添加/删除它。
添加: https ://developers.google.com/apps-script/reference/drive/folder#addfilechild
删除: https://developers.google.com/apps-script/reference/drive/folder#removeFile(File)
推荐阅读
- java - 如何在 UDF 中传递 Row?
- node.js - 使用 log4js 写入日志消息时添加动态值
- regex - 使用.htaccess 重定向正则表达式
- botframework - 在 bot builder v4 中下载 Skype bot 附件
- php - 履行响应 PHP webhook 未显示在 Actions on Google 中
- jquery - 在两个 angular.json 和带有 Angular 的模块中使用 jQuery
- javascript - Javascript修剪双斜杠
- java - java.lang.String 类型的值无法转换为 JSONObject(openweather API)
- java - 从特定表达式树到通用表达式树 - java
- typescript - 将接口传递给`dispatch时,Redux-thunk ThunkDispatch 类型失败
({})`