【问题标题】:How to retrieve a recent list of trashed files using Google Drive API如何使用 Google Drive API 检索最近的垃圾文件列表
【发布时间】:2016-01-15 02:11:46
【问题描述】:

我最近删除了 Google 云端硬盘中的大量文件,并将它们移至回收站。我想永久删除它们,但回收站中的文件无法按删除日期排序,而只能按修改日期排序(删除时不会更新)。

因此,我想利用 Google Drive API 来枚举垃圾并确定它被丢弃的日期,以找到我想随后永久删除的文件集。

据我所知,有一个文件属性表明它是否已被丢弃,但不是日期。

我尝试搜索此答案,但如果可能的话,它并不容易找到。有人熟悉 API 的这个领域吗?

有比我尝试的更好的策略吗?

【问题讨论】:

标签: google-drive-api


【解决方案1】:

使用 Todd 的详细答案,我编写了一个 Python 脚本来实现这一点。它已发布在 GitHub (cfbao/google-drive-trash-cleaner) 上。

例如要查看过去 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 天内”。不应该有太大的修改。

【讨论】:

    【解决方案2】:

    直接使用https://developers.google.com/drive/v3/reference/changes/list,您可以检索您最近的文件/文件夹更改。这似乎列出了文件夹移动以及已删除文件的这些更改。

    获取数据:

    1. 从 - https://developers.google.com/drive/v3/reference/changes/getStartPageToken 获取页面令牌
    2. 将该令牌放入 - https://developers.google.com/drive/v3/reference/changes/list,页面大小为 500,includeRemoved 为 true,并使用字段编辑器链接按钮选择所有字段。
    3. 您将看不到任何结果,因为您使用的是最新的页面令牌。您需要手动减少页面令牌,直到返回的 changes.time 早于所需的日期范围。 (查询中没有过滤器)。建立正确的页面令牌后,请继续执行以下步骤。
    4. 在执行之前,打开开发者工具(我使用的是 Chrome)并查看网络部分
    5. 查找以“changes?pageToken=...”开头的传输名称,然后选择它,将响应复制到 Notepad++
    6. 注意 nextPageToken 字段,并更新请求的页面令牌,重复步骤 5 直到 nextPageToken 不再前进。

    我使用http://www.jsonquerytool.com/从notepad++中粘贴数据并查询并找到相关的fileid。

    查询 ID 数据(针对每个返回的结果):

    1. 将 JSON 粘贴到 JSON 部分
    2. 选择 JSPath 查询类型
    3. 使用此查询来仔细检查文档名称“.changes{.file.trashed === true}.file.name”
    4. 使用此查询获取 ID 列表以保留“.changes{.file.trashed === true}.file.id”
    5. 将结果复制到 Notepad++

    永久删除

    如果您有少量的 FileID (https://developers.google.com/drive/v3/reference/files/delete 手动运行它们,并可选择在每次手动迭代时使用 https://developers.google.com/drive/v3/reference/files/get 检查它们。

    自动化

    显然,如果您要处理更多数据,那么编写脚本或应用程序来完成上述操作是有意义的。但至少你可以看到这是可能的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      • 2012-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多