Google 驱动器中的空文件夹与我共享?
Empty Shared with me Folder in Google Drive?
我想清空 Share with me folder
我怎样才能清空这是我的代码,我正在使用 Google Drive V3。
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("xxxxx@gmail.com")).FirstOrDefault();
删除邮件文件的权限。
service.Permissions.Delete(myfile.Id, per.Id).Execute();
我测试了它并且有效。您可以通过循环 运行 初始请求,并根据需要删除所有内容。
注意:这似乎并非在所有情况下都有效。我的 Google 驱动器上有一个文件,该文件似乎是通过服务帐户与我共享的。我对那里的文件没有权限,因为我无法删除我的访问权限。我还在挖掘。
我想清空 Share with me folder
我怎样才能清空这是我的代码,我正在使用 Google Drive V3。
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("xxxxx@gmail.com")).FirstOrDefault();
删除邮件文件的权限。
service.Permissions.Delete(myfile.Id, per.Id).Execute();
我测试了它并且有效。您可以通过循环 运行 初始请求,并根据需要删除所有内容。
注意:这似乎并非在所有情况下都有效。我的 Google 驱动器上有一个文件,该文件似乎是通过服务帐户与我共享的。我对那里的文件没有权限,因为我无法删除我的访问权限。我还在挖掘。