Наши администраторы Exchange (Exchange 2010 SP1) настроили общий ресурсный календарь. В этом календаре ресурсов нет почтового ящика . Я хочу иметь возможность читать собрания, используя EWS и C #.
Snippet:
ExchangeService esvc = new ExchangeService(ExchangeVersion.Exchange2010); esvc.Credentials = new WebCredentials(username, password, "ourplace.org"); esvc.Url = new Uri("https://OWA.OURPLACE.ORG/EWS/Exchange.asmx"); FolderId shareFolderId = new FolderId(WellKnownFolderName.Calendar, "Shared Calendar Name"); CalendarFolder.Bind(esvc, shareFolderId);
оператор bind выдает ошибку: «У SMTP-адреса нет связанного с ним почтового ящика».
Как я могу прочитать элементы в календаре ресурса Share, у которого нет связанного почтового ящика … или это даже возможно?
Спасибо !!
Привязать к этому Календарю с почтовым адресом
Создайте сначала FolderId:
FolderId parkplatzCalendarId = new FolderId(WellKnownFolderName.Calendar,"de.calendar.name@company.com");
Затем привязайтесь к этому:
CalendarFolder calendar = CalendarFolder.Bind(_service, parkplatzCalendarId);
Теперь вы можете использовать этот календарь!
CalendarView cView = new CalendarView(start, end, int.MaxValue); cView.PropertySet = new PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End, AppointmentSchema.Duration, AppointmentSchema.LastModifiedName, AppointmentSchema.Organizer, AppointmentSchema.Categories); FindItemsResults appointments = calendar.FindAppointments(cView);
Что-то вроде этого: D
Если календарь на самом деле не находится в каком-либо конкретном почтовом ящике, он должен находиться в общей папке, и вы должны посмотреть в WellKnownFolderName.PublicFoldersRoot
.
В противном случае укажите, где именно он отображается в иерархии папок Outlook.