Google云端硬盘具有很酷的功能:可以将“与我共享”中的文件或文件夹添加到“我的云端硬盘”。
然后我可以用同样的方式从“我的驱动器”中删除此文件(请注意,如果我删除了网络版中的共享文件,则不会进入“废纸篓”)
但是,我在尝试使用Google Drive API删除此文件时收到403 Forbidden错误(由于权限不足,因为我不是此文件的所有者)。因此,正如人们所看到的,这不是一个简单的删除请求。我该如何实现此功能?
答案 0 :(得分:2)
添加到我的云端硬盘更改了相关项目的父级馆藏。要更改此项,您需要取消项目而不是删除。
使用about.get调用检索My Drive ID,然后从文件/文件夹的文件资源中的父项列表中删除该ID。使用新的父母列表更新文件。
答案 1 :(得分:2)
迟到的答案,但我也遇到了这个问题。发生这种情况是因为文件实际上没有复制,它是同一个实例。如果您将其从“我的云端硬盘”中删除,它也会从共享云端硬盘中删除。您可能无权将其从共享驱动器中删除。
如果您只想将其从“我的云端硬盘”中删除:点击该文件。在右侧面板的“详细信息”下,有一个位置列表。至少共享驱动器和我的驱动器列在那里。单击X将其从“我的云端硬盘”中删除,它将在共享云端硬盘上保留时消失。
答案 2 :(得分:0)
这是我发现的。删除与我共享的项目的父项后,即使项目的父项列表为空,sharedWithMe
搜索仍会返回该项目。
以下是代码:
string sItemId = (this is the Id of the item shared with me);
string sParentId = driveService.About.Get().Execute().RootFolderId;
driveService.Parents.Delete(sItemId, sParentId).Execute();
var parentList = m_driveService.Parents.List(sItemId).Execute();
此时parentList.Items.Count
为0
。
现在,当我搜索sharedWithMe
时,该项目位于返回列表中。