空在Google云端硬盘中与我共享文件夹?
我想清空Share with me folder
如何清空这是我的代码,我正在使用Google Drive V3。空在Google云端硬盘中与我共享文件夹?
service.Permissions.Delete(PermissionID, fileId).Execute();
service.Files.Delete(fileId).Execute();
两行都给出了许可403错误。
如果我删除MyDrive文件时间下联他工作得很好,但与我共享的文件夹不会被删除
,你需要记住的事情是,跟我分享一下是不是你真正拥有,这就是为什么这个没一个文件没有工作。
service.Files.Delete(fileId).Execute();
首先获取与我共享文件夹中的所有文件的列表。
var request = service.Files.List();
request.Q = "(sharedWithMe = true)";
request.Fields = "*";
var results = request.Execute();
找到要删除的文件:
var myfile = results.Files.Where(a => a.Name.ToLower().Equals("receipt.pdf")).FirstOrDefault();
现在找到与当前认证的用户相关联的文件的权限:
var per = myfile.Permissions.Where(a => a.EmailAddress.ToLower().Equals("[email protected]")).FirstOrDefault();
删除的邮件文件的权限。
service.Permissions.Delete(myfile.Id, per.Id).Execute();
我测试了它,它工作。您可以通过循环运行初始请求,并根据需要删除所有内容。
注意:这似乎不适用于所有情况。我的Google驱动器上有一个文件,通过看起来像是服务帐户的方式与我共享。我没有对该文件的权限,因为我不能删除我的访问。我仍在挖掘。
返回权限错误 – KrishnaKanhaiya
您使用的是服务帐户吗?我可以通过只读权限执行此操作。使用Oauth2这里是我使用的完整源代码https://gist.github.com/LindaLawton/6e3b76fa3e9a2d8d72d96fe7f1d71297 – DaImTo
您使用的是服务帐户吗? – DaImTo