删除之前从“与我共享”添加到“我的云端硬盘”的文件
Remove a file that was previously added from Shared With Me to My Drive
Google云端硬盘有一个很棒的功能:可以将文件或文件夹从“与我共享”添加到“我的云端硬盘”。
然后我可以用同样的方式从我的云端硬盘中删除这个文件(注意,如果我在网络版中删除共享文件,它不会进入垃圾箱)
但是,我在尝试使用 Google 驱动器 API 删除此文件时收到 403 禁止访问错误(由于我不是此文件的所有者而导致权限不足)。因此,如您所见,这不是一个简单的删除请求。我怎样才能实现这个功能?
添加到我的云端硬盘更改了相关项目的 parents 集合。要更改此设置,您需要取消项目的父级而不是删除。
使用 about.get 调用检索 My Drive ID,然后从 file/folder 的文件资源中的 parents 列表中删除该 ID。使用 parents.
的新列表更新文件
这是我发现的。删除与我共享的项目的父级后,sharedWithMe
搜索仍然 return 项目,即使项目的父级列表是空的。
代码如下:
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
时,该项目在 return 列表中。
一个迟到的答案,但我也 运行 进入这个问题。发生这种情况是因为文件实际上并未被复制,它是同一个实例。如果您将它从我的云端硬盘中删除,它也会从共享云端硬盘中删除。您可能没有权限将其从共享云端硬盘中删除。
如果您只想将其从“我的云端硬盘”中删除:单击该文件。在右侧面板的“详细信息”下,有一个位置列表。至少共享驱动器和我的驱动器列在那里。单击 X 将其从我的云端硬盘中删除,它会在那里消失,同时保留在共享云端硬盘中。
Google云端硬盘有一个很棒的功能:可以将文件或文件夹从“与我共享”添加到“我的云端硬盘”。
然后我可以用同样的方式从我的云端硬盘中删除这个文件(注意,如果我在网络版中删除共享文件,它不会进入垃圾箱)
但是,我在尝试使用 Google 驱动器 API 删除此文件时收到 403 禁止访问错误(由于我不是此文件的所有者而导致权限不足)。因此,如您所见,这不是一个简单的删除请求。我怎样才能实现这个功能?
添加到我的云端硬盘更改了相关项目的 parents 集合。要更改此设置,您需要取消项目的父级而不是删除。
使用 about.get 调用检索 My Drive ID,然后从 file/folder 的文件资源中的 parents 列表中删除该 ID。使用 parents.
的新列表更新文件这是我发现的。删除与我共享的项目的父级后,sharedWithMe
搜索仍然 return 项目,即使项目的父级列表是空的。
代码如下:
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
时,该项目在 return 列表中。
一个迟到的答案,但我也 运行 进入这个问题。发生这种情况是因为文件实际上并未被复制,它是同一个实例。如果您将它从我的云端硬盘中删除,它也会从共享云端硬盘中删除。您可能没有权限将其从共享云端硬盘中删除。
如果您只想将其从“我的云端硬盘”中删除:单击该文件。在右侧面板的“详细信息”下,有一个位置列表。至少共享驱动器和我的驱动器列在那里。单击 X 将其从我的云端硬盘中删除,它会在那里消失,同时保留在共享云端硬盘中。