简体   繁体   中英

Exchange Web Services and C#: How to get appointments from shared calendar

I am trying to get a list of all the appointments for the day on a shared calendar. I have successfully done it for my own calendar tied to my user account. I tried getting the folderId of the shared calendar, but I haven't been able to find it.

I used this to access my calendar using its folderId and it worked:

Console.WriteLine("Listing appointments...");
        //open the calendar
        CalendarFolder calendar = CalendarFolder.Bind(service, WellKnownFolderName.Calendar);

        //query for appointments in next 10 days
        //FindItemsResults<Appointment> appointments = calendar.FindAppointments(new CalendarView(DateTime.Now, DateTime.Now.AddDays(10)));

        //find appointments and write out subject
        foreach (Appointment appointment in service.FindItems(new FolderId("FOLDERIDHERE"), new ItemView(int.MaxValue)))
            Console.WriteLine(appointment.Subject);

I don't know if this will work to access a shared folder, and I can't figure out the folderID of the shared folder.

You could try something like this :

        CalendarModule calModule = (CalendarModule)this.Application.ActiveExplorer().NavigationPane.Modules.GetNavigationModule(OlNavigationModuleType.olModuleCalendar);
        foreach (NavigationGroup group in calModule.NavigationGroups)
        {
            NavigationFolders folders = group.NavigationFolders;
            MAPIFolder OtherFolder = null;
            Items OtherFolderItems = null;

            for (int i = 1; i <= group.NavigationFolders.Count; i++)
            {
                OtherFolder = folders[i].Folder; //This does not work for me
                OtherFolderItems = OtherFolder.Items;
            }

Unfortunately, this code did not work for me, as trying to access the .Folder launch an exception. I found this on this link : http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/4891d3a5-f578-495c-83aa-f5a914474c78/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM