sharepoint - CSOM 为 SharePoint 列表上的组授予编辑权限
问题描述
我正在 CSOM 中为 SharePoint Online 创建一个新列表,但我对此很陌生,所以我一直在更改权限。有3个用户组,所有者,访问者和成员。我想授予访问者对此列表的编辑权。
我已经设法打破继承并使用以下代码获取所有访问者,但我坚持如何为他们提供新权限
newList.BreakRoleInheritance(false, true);
var visitors = ctx.Web.SiteGroups;
ctx.Load(visitors, groupitems => groupitems.Include(groupitem => groupitem.Title,
groupitem => groupitem.LoginName).Where(groupitem=> groupitem.Title == visitorsGroupName));
解决方案
你可以试试这个
var EditRole= new RoleDefinitionBindingCollection(ctx);
EditRole.Add(ctx.Web.RoleDefinitions.GetByType(RoleType.Editor));
Microsoft.SharePoint.Client.Group visitors= ctx.Web.SiteGroups.GetByName("visitors");
ctx.Load(visitors);
newList.RoleAssignments.Add(visitors, EditRole);
ctx.ExecuteQuery()
推荐阅读
- java - Spring Configuration Server 对 MicroService 的不同配置
- python - 在 Pandas 中按列过滤非 NaN 值
- php - 如何使用嵌套的 if 语句检查 PHP 中多个条件的 $_POST 表单数据值?
- ios - swift 类中未调用委托方法
- python - 如何使用循环遍历包含列表的字典、计算某些内容并将结果添加到字典中?
- python - 使用 PyQt 向未聚焦的 QLineEdit 小部件发送假鼠标点击
- c++ - 达到 nullptr 崩溃程序 - 二叉搜索树
- matplotlib - matplotlib 中散点图中的白色图形
- recursion - 有没有办法只显示一次?
- swift - 使我的项目适合所有 iPhone 尺寸