获取会议组织者的邮件地址 EWS API

6
我希望使用EWS API获取会议组织者的电子邮件地址。目前,我只获取了约会项的几个属性。我听说你可以设置要获取的属性。我的代码看起来像这样:
CalendarView cview = new CalendarView(start, end);
                    cview.PropertySet = new PropertySet(BasePropertySet.FirstClassProperties);
                    FindItemsResults<Appointment> appResults = calenFolder.FindAppointments(cview);
3个回答

2

我曾经遇到过同样的问题,后来通过以下方法成功填充了Organizer.Address属性:

ExchangeService service = calenFolder.Service;
service.LoadPropertiesForItems(appResults, PropertySet.FirstClassProperties);

您也可以只包含 AppointmentSchema.Organizer 作为 PropertySet.FirstClassProperties 包含了许多您可能不需要的属性。 - Thomas Williams

1
我知道这个问题很久了,但既然我找到了它,其他人也可能会找到它。而且,这个解决方案比这个问题还要早五年。
事实上,解决方案很简单,当您尝试在微软论坛上发布此问题时,很快就会找到解决方案:

http://social.msdn.microsoft.com/Forums/en-US/0403c00e-008d-4eb2-a061-45e60664573e/how-can-i-get-smtp-address-to-an-organizer-with-ews?forum=exchangesvrdevelopment

简短摘要:

使用ExchangeService.FindAppointments检索“组织者”字段时,不包含SMTP地址,但是使用ExchangeService.BindToItems或Appointment.Bind检索时,则有SMTP地址。


-1

在约会项中有一个属性,即 Organizer.Address。

因此,如果您有一个名为 appointment 的约会变量,则以下代码将检索组织者地址。

Var address = appointment.Organizer.Address;

尝试使用这段代码

var appointments = _service.FindAppointments(WellKnownFolderName.Calendar, new CalendarView(start,end));
foreach (var appointment in appointments)
{System.Diagnose.Writeline(appointment.Organizer.Address)}

2
是的,那是真的。但是这个属性总是为 null。 - andreaspfr
你能放更多的代码吗?也许你没有绑定预约。 - Ahmad ElMadi
我是否必须绑定约会以获取扩展属性?有时我会收到“在存储中未找到指定的对象”异常。我该如何避免这种情况? - andreaspfr
我没有理解你的问题,它是否与原始问题有关?还是其他问题?你能否展示更多的代码?但是关于扩展属性。如果您想要提取已经拥有的项目,例如当您想要报告日历中的约会时,那么您就不必绑定。 - Ahmad ElMadi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接