当我试图找到在网站中具有直接访问权限的用户时,还有一些名为“共享此文件夹中的所有内容,甚至具有唯一权限的项目”的复选框。可在 SharePoint 项目的权限页面上找到。
因为我需要找到具有直接访问权限的用户的解决方案,并且用户是否选中了此复选框。使用 Graph API 或 CSOM 获取这些数据可能会更好。
要实现此目标,您可以使用 SharePoint CSOM(客户端对象模型),因为它提供了与 SharePoint 资源(包括权限)交互的强大方法。您可以使用 C# 编写控制台应用程序或脚本来实现此目的。
RoleAssignmentCollection roleAssignments = web.RoleAssignments;
clientContext.Load(roleAssignments, ras => ras.Include(ra => ra.Member, ra => ra.RoleDefinitionBindings));
clientContext.ExecuteQuery();
foreach (RoleAssignment roleAssignment in roleAssignments)
{
Principal principal = roleAssignment.Member;
foreach (RoleDefinition roleDefinition in roleAssignment.RoleDefinitionBindings)
{
if (roleDefinition.Name == "Direct Access")
{
Console.WriteLine($"User: {principal.LoginName}");
// Check the checkbox state here
}
}
}