我最近删除了Google云端硬盘中的大量文件,并将它们移到了垃圾箱。我想永久删除它们,但垃圾箱中的文件不能按删除日期排序,而只能按修改日期排序(删除后不会更新)。
因此,我想利用Google Drive API枚举垃圾箱并确定其被删除的日期,以查找我希望随后永久删除的文件集。
从我可以收集的内容中,有一个文件属性,指示它是否已被删除,但不是日期。
我试着寻找这个答案,但如果有可能的话,这并不容易找到。是否有人熟悉API的这个领域?
是否有比我正在尝试的更好的策略?
答案 0 :(得分:4)
使用Todd的详细答案,我编写了一个Python脚本来实现这一目标。它发布在GitHub上(cfbao/google-drive-trash-cleaner)。
E.g。要查看过去30天内已删除的项目,请运行
python cleaner.py -v -d 30
或
Windows上的cleaner.exe -v -d 30
糟糕!大错!
clean -v -d 30
显示30天前超过的文件已被删除。
如果您想查看过去30天内删除的文件,请运行clean -v -d 0
并查看按垃圾日期排序的所有已删除文件。
或者您可以修改我的脚本,因此-d 30
表示“在过去30天内”。不应该是太大的修改。
答案 1 :(得分:0)
直接使用https://developers.google.com/drive/v3/reference/changes/list,您可以检索最近的文件/文件夹更改。这似乎列出了文件夹移动和已删除文件的更改。
获取数据:
我使用http://www.jsonquerytool.com/粘贴来自notepad ++的数据,并查询并找到相关的文件ID。
查询ID数据(对于返回的每个结果):
永久删除
如果您有少量的FileID(< 100),您可能希望通过https://developers.google.com/drive/v3/reference/files/delete手动运行它们,并可选择在每次手动迭代时使用https://developers.google.com/drive/v3/reference/files/get进行检查。
<强>自动化强>
显然,如果您处理更多数据,编写脚本或应用程序来完成上述操作是有意义的。但至少你可以看到它是可能的。