c# - 使用 EWS 列出所有可用的扩展属性

标签 c# exchangewebservices

我正在尝试找到一种使用 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/

相关文章:

java - 我如何获得主复发预约 EWS?

java - EWS API (Java) OAuth 不起作用

c# - Fluent NHibernate - 添加鉴别器时出现问题

c# - 我如何解析一个dtd文件

c# - 在 C# 中使用 Excel InterOp 设置饼图样式

c# - C#中的图像处理

用于交换模拟的仅限 Azure AD 应用程序的访问 token

c# - 日历插件

java - 将已发送的邮件保存到用户的已发送邮件文件夹

exchangewebservices - Exchange Web 服务设置约会的组织者