Hallo zusammen!
Ich versuche über Exchange Web Services Kalenderdaten auszulesen (alle Termine). Beim Defaultkalender "WellKnownFolderName.Calendar" klappt das auch, aber wie komme ich an die anderen Kalender (z.B. habe ich noch einen weiteren Kalender TestKalender
erstellt, der sich nicht im "Kalender" Ordner befindet)? Suche nun schon lange nach einer Lösung und weiss einfach nicht wie ich das anstellen soll.
Mit folgendem codesnippet versuche ich die Kalenderdaten zu extrahieren
CalendarView calendarView = new CalendarView(startTime, endTime);
// Create a view with a page size of 10.
FolderView view = new FolderView(20);
// Identify the properties to return in the results set.
view.PropertySet = new PropertySet(BasePropertySet.IdOnly);
view.PropertySet.Add(FolderSchema.DisplayName);
view.PropertySet.Add(FolderSchema.ChildFolderCount);
// Return only folders that contain items.
SearchFilter searchFilter = new SearchFilter.IsGreaterThan(FolderSchema.TotalCount, 0);
// Unlike FindItem searches, folder searches can be deep traversals.
view.Traversal = FolderTraversal.Deep;
FindFoldersResults folderResults = exchService.FindFolders(WellKnownFolderName.Root, searchFilter, view);
foreach(Folder folder in folderResults.Folders)
{
if (folder is CalendarFolder)
{
calendar.Clear();
//todo: folders ohne appointments abfangen
FindItemsResults<Appointment> appointments = ((CalendarFolder)folder).FindAppointments(calendarView);
List<Item> items = new List<Item>();
foreach (Appointment appointment in appointments)
{
items.Add(appointment);
}
exchService.LoadPropertiesForItems(items, propertySet);
Console.Out.WriteLine("The " + folder.DisplayName + " has " + folder.ChildFolderCount + " child folders");
}
}
Freundliche Grüsse
Angelo