Убедитесь, что пользователь использует адрес электронной почты в клиентской объектной модели SharePoint.

Мне нужно обновить поле FieldUserValue в sharepoint 2013. Мне предоставлены только данные адреса электронной почты. Я не могу использовать SureUser, так как он принимает только logonName. я использовал метод FromUser, но он выдает ошибку, которая говорит: «пользователь не существует или не уникален».

FieldUserValue user = FieldUserValue.FromUser(email);

это сработало, когда я попытался использовать свой адрес электронной почты, но когда я использую адреса электронной почты в своих данных, это приводит к ошибке. как исправить проблему?


person Page F.P.T    schedule 02.07.2015    source источник


Ответы (1)


Вы можете разрешить пользователя по адресу электронной почты с помощью Utility .ResolvePrincipal метод, например:

var result = Microsoft.SharePoint.Client.Utilities.Utility.ResolvePrincipal(ctx, ctx.Web, emailAddress,Microsoft.SharePoint.Client.Utilities.PrincipalType.User,Microsoft.SharePoint.Client.Utilities.PrincipalSource.All, null, true);
ctx.ExecuteQuery();
if (result != null)
{
    var user = ctx.Web.EnsureUser(result.Value.LoginName);
    ctx.Load(user);
    ctx.ExecuteQuery();    
} 

Ссылки

Получение удостоверения и свойств пользователя в SharePoint 2013

person Vadim Gremyachev    schedule 02.07.2015
comment
в Интернете не так много примеров, подобных этому, для разрешения пользователя только с идентификатором электронной почты. спасибо @Вадим - person Abdul Hameed; 31.05.2017