c# - 如何以编程方式从 Google 云端硬盘中的 "share with me"中删除文件

标签 c# google-api google-drive-api google-oauth google-api-dotnet-client

在完整驱动器范围内执行以下命令

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

结果

insufficient permission error.

尝试从 Google 云端硬盘“与我共享”文件夹中删除文件时。

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

最佳答案

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

您需要做的第一件事是运行 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();

关于c# - 如何以编程方式从 Google 云端硬盘中的 "share with me"中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59727775/

相关文章:

c# - Facebook 登录抛出“应用程序配置不允许给定的 URL。: One or more of the given URLs is not allowed

php - 如何在 PHP 中阅读 Google Drive 电子表格?

android - 如何获取文件 ID,以便我可以从 Android 上的 Google Drive API 下载文件?

FFMPEG 使用 Google Drive API 而不是共享 URL

javascript - 使用 xhr 请求 Google Place API 遇到 CORS 问题

Python:从 Google Drive API 获取 zip 文件并加载其内容

c# - 为什么开放类型 Predicate<T> 比它的对应类型慢

c# - 在 LINQ to SQL 中,通过外键添加时是否需要 InsertOnSubmit()?

c# - 如何使用 Alvas.Audio 检测任何声音?

ios - Google api key 不适用于我的 ios 应用程序