Я придумал код CSOM для обновления разрешений, но по какой-то причине обновление не состоялось. Я обновляю сайт и настройки разрешений остаются прежними. Что-то не так с кодом?
private static void UpdatePermissions(ClientContext clientContext)
{
try
{
clientContext.Load(clientContext.Web);
clientContext.Load(clientContext.Web.RoleDefinitions);
clientContext.ExecuteQuery();
var roleDefinitions = clientContext.Web.RoleDefinitions;
var ownerPermissions = roleDefinitions.GetByName("Owner");
clientContext.Load(ownerPermissions);
clientContext.ExecuteQuery();
ownerPermissions.BasePermissions.Set(PermissionKind.DeleteVersions);
ownerPermissions.BasePermissions.Set(PermissionKind.UseClientIntegration);
ownerPermissions.BasePermissions.Set(PermissionKind.UseRemoteAPIs);
//clientContext.Load(ownerPermissions);
clientContext.Web.Update();
clientContext.ExecuteQuery();
}
catch (Exception e)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("UpdatePermissions " + e.Message);
WriteLog(fileName, "UpdatePermissions " + e.Message);
}
finally
{
Console.ForegroundColor = ConsoleColor.White;
}
}