2

我使用 Google Docs API(使用 GData)构建了一个集成,允许用户从另一个应用程序创建/编辑文档。最初,当文件被删除时,我们会将它们永久删除。它们不再出现在 Google 文档或 Google 云端硬盘中。现在,当使用 Google Docs API 删除它们时,它们仍然存在于 Google Drive 中的文档列表中。当您尝试点击指向文档的链接时,您会看到“抱歉,您请求的页面(或文档)不存在”。页。

Google Drive 是否不支持通过 Google Docs API 执行的操作?我是否需要同时使用 Google Docs API 和 Google Drive API 删除这些文档?如果用户尚未迁移到 Google 云端硬盘怎么办?有没有办法判断是否已迁移?或者我是否强制他们迁移,以便我可以使用 Google Drive API 来保持他们的 Google Drive 清洁这些死文档?

4

4 回答 4

1

Drive API 和 Docs List API 都在相同的资源上运行,因此您只需使用其中一个(我们推荐使用前者)。

使用 Drive API,您可以删除删除文件。当您删除文件时,它仍会在 Google 云端硬盘中列出,并带有标签以将其标记为已删除,以便您仍然可以将其取消删除

如果要完全删除文件,则必须使用该delete方法。

于 2012-08-10T22:26:29.507 回答
1

我遇到了同样的问题,我相信这是驱动器 UI 上的某种缓存。

该文件似乎已正确删除,并且对驱动器 API 不可见。

随着缓存经常被清除,孤立的存根最终会被删除。

我发现通过从父级删除文件然后删除它意味着在测试我的应用程序时使用驱动器 UI 时更容易看到发生了什么。

service.children().delete(folderId=parent_id, childId=file_id).execute()
service.files().delete(fileId=file_id).execute()
于 2013-03-06T17:48:50.250 回答
0

这是一个缓存问题,该文件实际上已被删除。如果您尝试在 Drive UI 中打开该文件,您应该会看到类似“抱歉,您请求的文件不存在”的内容。

它很快就会自行清除。

于 2013-05-29T03:23:21.663 回答
0

我在使用 Google Drive API 时遇到了同样的问题。我认为当 Delete api 删除文档时,它们仍然存在与父文件夹的一些链接,因此浏览器呈现文档。当我厌倦了用下面的代码删除文档时,它对我很有效。

DriveService.Childern.Delete(parentResId, fileId).Fetch(); // fileId=>要删除的文档的ResourceId

于 2013-02-25T14:30:27.763 回答