我正在使用CAML检索一些sharepoint列表项。列上是PeoplePicker控件。如何从此列中提取电子邮件地址?
我知道如何获取LookupValue和LookupID,但不知道电子邮件。
FieldUserValue usvSM1 = i["Account"] as FieldUserValue;
Console.WriteLine(usvSM1.LookupValue);
请记住,我正在针对客户端对象模型进行编程。
非常感谢!
答案 0 :(得分:4)
试试这个:
var user = web.SiteUsers.GetById(usvSM1.LookupId);
context.Load(user);
context.ExecuteQuery();
Console.WriteLine(user.Email);
编辑: Web.SiteUsers属性仅适用于SharePoint 2013客户端对象模型。
您可以尝试获取用户的第二种方式:
var user = web.EnsureUser(usvSM1.LookupValue);
context.Load(user);
context.ExecuteQuery();
Console.WriteLine(user.Email);
答案 1 :(得分:0)
FieldUserValue [] fTo = oListItem["People picker field name"] as FieldUserValue[];
var userTo = clientContext.Web.SiteUsers.GetById(fTo[0].LookupId);
clientContext.Load(userTo);
clientContext.ExecuteQuery();
headers.To.Add(userTo.Email);