Microsoft Exchange Server:已请求此属性,但服务器(EWS)未返回该属性



我正在尝试获取布尔属性Exchange Web Service的值"IsMeeting";使用C#。我在PropertySet对象中定义了以下属性:

PropertySet propertySet = new PropertySet(ItemSchema.Subject,
AppointmentSchema.AppointmentState,
AppointmentSchema.Start,
AppointmentSchema.End,
AppointmentSchema.Organizer,
AppointmentSchema.IsMeeting,
AppointmentSchema.IsCancelled,
AppointmentSchema.IsRecurring,
AppointmentSchema.IsAllDayEvent,
AppointmentSchema.LegacyFreeBusyStatus,
ItemSchema.LastModifiedTime,
AppointmentSchema.TimeZone,
AppointmentSchema.MeetingRequestWasSent,
AppointmentSchema.ICalUid,
ItemSchema.Id);

然而,当尝试获取属性时:

foreach (Appointment a in appointments)
{
Console.WriteLine(a.IsMeeting.ToString());
}

出现异常";ServiceObjectPropertyException";。已请求此属性,但服务器未返回该属性。IsCancelled属性也存在类似的问题。将AppointmentState属性添加到PropertySet有帮助。对于IsMeeting属性,没有解决方案。如果有人能告诉我,我会很高兴的。谢谢。

由于性能原因,FindItems只返回属性的子集。如果您真的想要该属性,那么您需要对Item发出额外的GetItem(或Bind(请求。如果您使用EWS托管API,则可以使用LoadPropertiesForItems执行此操作,请参阅https://learn.microsoft.com/en-us/dotnet/api/microsoft.exchange.webservices.data.exchangeservice.loadpropertiesforitems?view=exchange-ews-api&WT.mc_id=DOP-MVP-10145

您还应该能够只使用AppointmentState,它应该为会议返回0x0001

最新更新