Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C和客户端对象模型从PeoplePicker字段获取电子邮件地址_C#_Sharepoint_Sharepoint Clientobject_Peoplepicker - Fatal编程技术网

C# 如何使用C和客户端对象模型从PeoplePicker字段获取电子邮件地址

C# 如何使用C和客户端对象模型从PeoplePicker字段获取电子邮件地址,c#,sharepoint,sharepoint-clientobject,peoplepicker,C#,Sharepoint,Sharepoint Clientobject,Peoplepicker,我正在使用CAML检索一些sharepoint列表项。列的另一端是PeoplePicker控件。如何从本专栏中提取电子邮件地址 我知道如何获取LookupValue和LookupID,但不知道如何获取电子邮件 FieldUserValue usvSM1 = i["Account"] as FieldUserValue; Console.WriteLine(usvSM1.LookupValue); 请记住,我是针对客户机对象模型编程的 非常感谢 试试这个: var user = web.Site

我正在使用CAML检索一些sharepoint列表项。列的另一端是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);
试试这个:

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

谢谢Yevgeniy-我认为SiteUsers不能与客户端对象模型一起使用。[链接]嗯,您使用的是哪一版本的SharePoint?SharePoint 2013似乎具有此属性,但SharePoint 2010没有。检查这里,酷的东西!:这很好用。我认为我的组织将在今年某个时候升级到SP2013——不仅仅是现在。非常感谢,是的!!:hi@Yevgeniy.Chernobrivets,如果两名员工的显示名称保持不变怎么办?例如:约翰·史密斯和约翰·史密斯,但他们的电子邮件有johns1@domain.com和johns2@domain.com,那么,sharepoint在识别的人员/电子邮件时是否存在冲突?如何处理这种情况感谢Yevgeny-我认为SiteUsers不能与客户端对象模型一起使用。[链接]嗯,您使用的是哪一版本的SharePoint?SharePoint 2013似乎具有此属性,但SharePoint 2010没有。检查这里,酷的东西!:这很好用。我认为我的组织将在今年某个时候升级到SP2013——不仅仅是现在。非常感谢,是的!!:hi@Yevgeniy.Chernobrivets,如果两名员工的显示名称保持不变怎么办?例如:约翰·史密斯和约翰·史密斯,但他们的电子邮件有johns1@domain.com和johns2@domain.com,那么,sharepoint在识别的人员/电子邮件时是否存在冲突?如何处理此情况此处如何获取显示名和修剪的登录名?Title抛出了一个错误r。这里如何获取显示名和修剪后的登录名?Title抛出一个错误r。