none
EWS - Wie finde ich die nicht default Kalender? RRS feed

  • Frage

  • 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

     


    • Bearbeitet Angelo1982 Donnerstag, 22. Dezember 2011 07:44
    Mittwoch, 21. Dezember 2011 16:16

Alle Antworten

  • Ich möchte meine Frage zu dem Thema ein bischen erweitern. Ich muss auch die freigegebenen Kalender auslesen und egal wie viele Foren ich durchlese und was ich alles ausprobiere, ich kriegst nicht hin. Bin mir langsam nicht mehr so sicher ob das überhaupt möglich ist. Über Hilfe zu dem Thema wäre ich sehr dankbar.

    Freundliche Grüsse

    Angelo

    Donnerstag, 22. Dezember 2011 15:08