如何以编程方式从 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();
使用完整的驱动器范围执行以下命令
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();