2

我正在使用 CAML 来检索一些共享点列表项。在这些列上是一个 PeoplePicker 控件。如何从该列中提取电子邮件地址?

我知道如何获取 LookupValue 和 LookupID,但不知道电子邮件。

FieldUserValue usvSM1 = i["Account"] as FieldUserValue;
Console.WriteLine(usvSM1.LookupValue);

请记住,我正在针对客户端对象模型进行编程。

非常感谢!

4

2 回答 2

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);
于 2014-02-06T19:24:35.673 回答
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);
于 2014-09-03T10:25:15.223 回答