【发布时间】:2015-09-04 17:19:49
【问题描述】:
我尝试向创建的约会添加自定义属性,如下所示:
var newEvent = new Appointment(service)
{
Start = start,
End = end,
Subject = subject,
ReminderMinutesBeforeStart = 15
};
var extendendProperty = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Address, "organizer",
MapiPropertyType.String);
newEvent.SetExtendedProperty(extendendProperty, organizer);
但问题是当我尝试从服务器获取此约会时,属性 ExtendedProperty 为空。
此外,我创建了新约会并将“房间”添加为必需的与会者,当我尝试获取此约会时,我不是从我的日历中获取它,而是从房间日历中获取它。
所以,我想在我的约会中添加扩展属性并邀请“房间”。接下来得到房间的所有约会,在这里我想阅读这个属性。甚至有可能吗?
我阅读了这个主题:EWS Create Appointment in exchange with extra custom properties,据我了解,当我想阅读此属性时,我必须有权访问 ExtendendPropertyDefinition,并且之前必须知道此约会的 ID。现在我通过以下代码从 Outlook 下载所有约会:
var folderId = new FolderId(WellKnownFolderName.Calendar, new Mailbox(userName));
var calendar = CalendarFolder.Bind(service, folderId, new PropertySet());
return calendar.FindAppointments(new CalendarView(start, stop)).ToList();
编辑
感谢格伦秤! 它几乎可以按我的意愿工作,但有一件事。如果我下载自己的约会,我可以阅读此附加属性,但在该代码中,我从房间日历下载约会。
我想在创建新约会并添加房间作为所需服务员时,它会创建他自己的约会并且不会复制此附加属性。
那么,当我将这个房产添加到我的房间时,有什么方法可以从房间预约中获得这个额外的房产?
【问题讨论】:
标签: c# outlook exchange-server exchangewebservices