0

我对 sharepoint 2013 中的某些文件具有编辑权限,我想与某人共享此文件。我使用这段代码:

var item = rootList.GetItemById(itemId);
clientContext.Load(item);
clientContext.ExecuteQuery();

var allRoles = GetAllRoleDefinitions(clientContext);
var roleToAssign = allRoles.FirstOrDefault(r => r.Name == "Contribute");
var principal = clientContext.Web.SiteUsers.GetById(member.Id);
var roleAssignmentForUser = item.RoleAssignments.GetByPrincipalId(member.Id);
roleAssignmentForUser.RoleDefinitionBindings.Add(roleToAssign);
clientContext.ExecuteQuery();

但它会抛出 ServerUnauthorizedAccessException。我在sharepoint站点中检查了这个,这是可能的。

4

1 回答 1

0

尝试运行这个 Powershell 脚本。它将删除匿名访问限制。即使您的用户已通过身份验证,它也可能会有所帮助。

$webApp = Get-SPWebApplication -Identity http://[your sharepoint url] $webApp.ClientCallableSettings.AnonymousRestrictedTypes.Remove([Microsoft.SharePoint.SPList], "GetItems") $webApp.Update()

于 2013-11-12T14:53:30.243 回答