C# 如何以编程方式从";中删除文件;“与我分享”;在谷歌硬盘

C# 如何以编程方式从";中删除文件;“与我分享”;在谷歌硬盘,c#,google-api,google-drive-api,google-oauth,google-api-dotnet-client,C#,Google Api,Google Drive Api,Google Oauth,Google Api Dotnet Client,在全驱动范围内执行以下命令 var request = service.Files.Delete(fileId); 导致 权限不足错误 尝试从google drive“与我共享”文件夹中删除文件时 当登录的用户实际上没有权限删除他们不拥有的文件时,如何从“与我共享”中删除文件?问题在于所述用户不拥有该文件。经过大量挖掘,我意识到您要做的是删除用户对相关文件的权限 您需要做的第一件事是在当前用户上运行: return service.About.Get().Execute(); 这将为您提供该

在全驱动范围内执行以下命令

var request = service.Files.Delete(fileId);
导致

权限不足错误

尝试从google drive“与我共享”文件夹中删除文件时


当登录的用户实际上没有权限删除他们不拥有的文件时,如何从“与我共享”中删除文件?

问题在于所述用户不拥有该文件。经过大量挖掘,我意识到您要做的是删除用户对相关文件的权限

您需要做的第一件事是在当前用户上运行:

return service.About.Get().Execute();
这将为您提供该用户的权限id

“许可证ID”:“060305882255734372”

完成后,您可以为该用户对文件执行以下操作:

var response = service.Permissions.Get(fileId, permissionId).Execute();
回应

{
 "kind": "drive#permission",
 "id": "06030588225573437",
 "type": "user",
 "role": "writer"
}
这将为您提供有关用户在文件上的权限id

然后,您可以使用删除用户对该文件的权限


似乎只有当文件所有者指定我为编辑器时,它才起作用。如果我只是一个浏览者,我在尝试对与我共享的文件执行permissions.get、permissions.list和permissions.delete时,会不断收到403错误“权限不足”。是这样吗?如果您是只读的,那么我不希望delete起作用。permissions.list()和permissions.get()也不适用于查看器角色用户。此外,即使对于permissions.delete()我们也不会删除文件本身,只删除文件的权限,即放弃查看文件的权限。在本机Google Drive UI中,它可以工作-即使您的角色是“查看器”,也可以从“与我共享”伪文件夹中“删除”任何文件,这实际上意味着删除权限。
var response = service.Permissions.Delete(fileId, permissionId).Execute();