我正在尝试找到一种使用 EWS 列出日历项目集的所有扩展属性的方法。
问题是,我在网上找到的所有示例都要求我提前知道这些扩展属性是什么。这是official MSDN example .
如果我不知道扩展属性的 ID 或名称该怎么办?或者如果我什至不知道是否存在任何扩展属性?
我尝试了以下代码,但它返回异常...
var calendarItems = service.FindAppointments(WellKnownFolderName.Calendar, view);
var propertySet = new PropertySet(AppointmentSchema.ExtendedProperties);
service.LoadPropertiesForItems(calendarItems, propertySet);
异常(exception)情况如下:
Microsoft.Exchange.WebServices.Data.ServiceResponseException:请求架构验证失败:缺少必需的属性“FieldURI”。
最佳答案
EWS 中没有调用来获取所有扩展属性。扩展属性背后的想法是应用程序使用它们来存储特定于应用程序的数据,因此只有该应用程序需要了解其属性的详细信息。
扩展 MAPI 可以发现此信息。 https://github.com/stephenegriffin/mfcmapi有大量用于不同任务的示例代码,包括迭代命名属性。
关于c# - 使用 EWS 列出所有可用的扩展属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29558864/