使用Google Docs API删除的文档仍可在Google云端硬盘中看到

时间:2012-08-10 21:47:28

标签: google-docs-api google-drive-api

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

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

4 个答案:

答案 0 :(得分:1)

Drive API和文档列表API都在相同的资源上运行,因此您只需使用其中一个(我们建议使用前者)。

借助Drive API,您可以trashdelete个文件。当您删除文件时,它仍会在Google云端硬盘中列出,并带有标签,将其标记为垃圾箱,这样您仍然可以untrash

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

答案 1 :(得分:1)

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

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

孤立存根最终会被删除,因为缓存每隔一段时间就会被清除。

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

service.children()。delete(folderId = parent_id,childId = file_id).execute() service.files()。删除(FILEID = FILE_ID).execute()

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

这是一个缓存问题,该文件实际上已被删除。如果您尝试在云端硬盘用户界面中打开该文件,您应该会看到"对不起,您请求的文件不存在。"

它很快就会清除。