使用SharePoint客户端对象模型

时间:2015-07-02 06:45:56

标签: sharepoint sharepoint-2013 csom

我需要在sharepoint 2013中更新FieldUserValue字段。我只会获得一个电子邮件地址数据。我不能使用EnsureUser,因为它只接受logonName。我使用FromUser方法,但它给我一个错误,上面写着“用户不存在或不是唯一的”

FieldUserValue user = FieldUserValue.FromUser(email);

当我尝试使用我的电子邮件地址时,它有效,但当我在我的数据中使用电子邮件地址时,会导致错误。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

您可以使用Utility.ResolvePrincipal method通过电子邮件地址解析用户,例如:

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();    
} 

<强>参考

Get user identity and properties in SharePoint 2013

相关问题