我是我的谷歌硬盘的所有者,我可以使用以下代码打开“可共享链接”,但是当我想将其设置为私有(基本上关闭可共享链接)时,会发生异常:
Google.GoogleApiException: 'Google.Apis.Requests.RequestError The owner of a file cannot be removed. [403] Errors [ Message[The owner of a file cannot be removed.] Location[ - ] Reason[cannotRemoveOwner] Domain[global] ]
我可以轻松设置文件的权限:
var permission = new Google.Apis.Drive.v3.Data.Permission();
permission.Role = "reader";
permission.Type = "anyone";
var aaaa = Authentication.service.Permissions.Create(permission, fileIdAction).ExecuteAsync();
这是我的代码(不起作用):
//Get PermissionId
var get = Authentication.service.About.Get();
get.Fields = "*";
var permissionId = get.Execute().User.PermissionId;
//Delete method
Authentication.service.Permissions.Delete(fileIdAction, permissionId).Execute();
我认为permissionId可能是一个问题,所以我尝试了不同的方法来获取它,但是,没有一个工作(例外 - 关于所有者)。就像在这个线程 - How to get permissionId in Drive API v3?
关于如何将文件设置回私有的任何想法?谢谢你的帮助。
答案就在这个问题上。 “无法删除文件的所有者。”
您尝试删除的permissionId
是主要所有权权限,而不是您之前创建的共享权限。要获得第二个permissionId,要么在创建它时保存它(它在响应中),要么get
文件的元数据并查看permissionIds[]