C# 使用EWS,如果我有会议室的电子邮件地址,如何获得会议室名称?
我有一个会议室电子邮件地址列表,我想知道他们的名字。如何使用EWS和2010 exchange服务器做到这一点。但服务器似乎没有SP1,因此我无法使用ExchanceService.ResolveName。如果我这样做,我会收到消息C# 使用EWS,如果我有会议室的电子邮件地址,如何获得会议室名称?,c#,exchangewebservices,exchange-server-2010,C#,Exchangewebservices,Exchange Server 2010,我有一个会议室电子邮件地址列表,我想知道他们的名字。如何使用EWS和2010 exchange服务器做到这一点。但服务器似乎没有SP1,因此我无法使用ExchanceService.ResolveName。如果我这样做,我会收到消息方法ResolveName仅对Exchange Server版本Exchange2010\u SP1或更高版本有效。 更新: 实际上,我正在使用,所以我不太清楚为什么在尝试使用ResolveName方法时会收到上面的错误消息 更新2: 事实上,是的,可以在office
方法ResolveName仅对Exchange Server版本Exchange2010\u SP1或更高版本有效。
更新:
实际上,我正在使用,所以我不太清楚为什么在尝试使用ResolveName方法时会收到上面的错误消息
更新2:
事实上,是的,可以在office365上使用ResolveName。在实例化ExchangeSercice时,我只是传递了错误的服务器版本。我通过了ExchangeVersion.Exchange2010,但也可以使用ExchangeVersion.Exchange2010_SP1、ExchangeVersion.Exchange2010_SP2等。您可以使用下面的
ResolveName
操作来获取会议室名称:
EmailAddressCollection roomLists = service.GetRoomLists();
foreach (EmailAddress email in roomLists)
{
EmailAddress roomList = email.Address;
PropertySet props = new PropertySet(BasePropertySet.FirstClassProperties);
NameResolutionCollection nrCol = service.ResolveName(email.Address, ResolveNameSearchLocation.DirectoryOnly, true, props);
foreach (NameResolution nr in nrCol)
{
Console.WriteLine(nr.Contact.DisplayName);
}
}
谢谢我已经解决了我的问题,但很高兴有你的代码样本给其他人,他们正在寻找一个关于如何获得一个知道电子邮件地址的名字的答案。