在.NET中使用SharpGs作为Google存储客户端,我试过这个,但它不起作用:
foreach (var o in bucket.Objects)
{
o.Acl.CleanEntries();
o.Acl.AddEntry(SharpGs.Acl.AclPermission.FULL_CONTROL, SharpGs.Acl.ScopeType.AllUsers);
o.Acl.Save();
}
答案 0 :(得分:2)
当您在foreach中创建“o.Acl”时,您正在对服务器执行查询(它位于“Acl”属性的getter内部),因此在循环内的3行中,您将从服务器获取acl并重置旧的价值。所以,你应该做这样的事情:
var acl = o.Acl;
acl.CleanEntries();
acl.AddEntry(SharpGs.Acl.AclPermission.FULL_CONTROL, SharpGs.Acl.ScopeType.AllUsers);
acl.Save();