如何以编程方式从 Google 驱动器中的 "share with me" 中删除文件

How to programmatically remove a file from "share with me" in Google drive

使用完整的驱动器范围执行以下命令

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

结果

insufficient permission error.

尝试从 google 驱动器 "Shared with me" 文件夹中删除文件时。

当登录用户实际上无权删除不属于他们的文件时,如何从 "Shared with me" 中删除文件?

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

您需要做的第一件事是 运行 当前用户的 about.get:

return service.About.Get().Execute();

这将为您提供该用户的权限 ID

"permissionId": "060305882255734372",

完成后,您可以为该用户在文件上执行 permissions.get

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

回应

{
 "kind": "drive#permission",
 "id": "06030588225573437",
 "type": "user",
 "role": "writer"
}

这将为您提供相关用户对该文件的权限 ID。

然后您可以使用permission.delete

删除用户对该文件的权限
var response = service.Permissions.Delete(fileId, permissionId).Execute();