我正在使用 CAML 来检索一些共享点列表项。在这些列上是一个 PeoplePicker 控件。如何从该列中提取电子邮件地址?
我知道如何获取 LookupValue 和 LookupID,但不知道电子邮件。
FieldUserValue usvSM1 = i["Account"] as FieldUserValue;
Console.WriteLine(usvSM1.LookupValue);
请记住,我正在针对客户端对象模型进行编程。
非常感谢!
我正在使用 CAML 来检索一些共享点列表项。在这些列上是一个 PeoplePicker 控件。如何从该列中提取电子邮件地址?
我知道如何获取 LookupValue 和 LookupID,但不知道电子邮件。
FieldUserValue usvSM1 = i["Account"] as FieldUserValue;
Console.WriteLine(usvSM1.LookupValue);
请记住,我正在针对客户端对象模型进行编程。
非常感谢!
尝试这个:
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);
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);