Question

Using SharpGs as Google Storage client in .NET, I tried this, but it isn't working:

foreach (var o in bucket.Objects)
{
  o.Acl.CleanEntries();
  o.Acl.AddEntry(SharpGs.Acl.AclPermission.FULL_CONTROL, SharpGs.Acl.ScopeType.AllUsers);
  o.Acl.Save();
}
Was it helpful?

Solution

When you make "o.Acl" inside foreach, you are executing a query to server (it is inside getter of "Acl" property), so in each of 3 lines inside loop, you are fetching acl from server and resetting old value. So, you should make something like this:

var acl = o.Acl;
acl.CleanEntries();
acl.AddEntry(SharpGs.Acl.AclPermission.FULL_CONTROL, SharpGs.Acl.ScopeType.AllUsers);
acl.Save();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top