Пример #1
0
        public static void Run()
        {
            // ExStart:RetrieveFolderPermissionsUsingExchangeWebServiceClient
            string folderName = "DesiredFolderName";

            // Create instance of EWSClient class by giving credentials
            IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

            ExchangeFolderInfoCollection       folders     = client.ListPublicFolders();
            ExchangeFolderPermissionCollection permissions = new ExchangeFolderPermissionCollection();

            ExchangeFolderInfo publicFolder = null;

            try
            {
                foreach (ExchangeFolderInfo folderInfo in folders)
                {
                    if (folderInfo.DisplayName.Equals(folderName))
                    {
                        publicFolder = folderInfo;
                    }
                }

                if (publicFolder == null)
                {
                    Console.WriteLine("public folder was not created in the root public folder");
                }

                ExchangePermissionCollection folderPermissionCol = client.GetFolderPermissions(publicFolder.Uri);
                foreach (ExchangeBasePermission perm in folderPermissionCol)
                {
                    ExchangeFolderPermission permission = perm as ExchangeFolderPermission;
                    if (permission == null)
                    {
                        Console.WriteLine("Permission is null.");
                    }
                    else
                    {
                        Console.WriteLine("User's primary smtp address: {0}", permission.UserInfo.PrimarySmtpAddress);
                        Console.WriteLine("User can create Items: {0}", permission.CanCreateItems.ToString());
                        Console.WriteLine("User can delete Items: {0}", permission.DeleteItems.ToString());
                        Console.WriteLine("Is Folder Visible: {0}", permission.IsFolderVisible.ToString());
                        Console.WriteLine("Is User owner of this folder: {0}", permission.IsFolderOwner.ToString());
                        Console.WriteLine("User can read items: {0}", permission.ReadItems.ToString());
                    }
                }
                ExchangeMailboxInfo mailboxInfo = client.GetMailboxInfo();
                //Get the Permissions for the Contacts and Calendar Folder
                ExchangePermissionCollection contactsPermissionCol = client.GetFolderPermissions(mailboxInfo.ContactsUri);
                ExchangePermissionCollection calendarPermissionCol = client.GetFolderPermissions(mailboxInfo.CalendarUri);
            }
            finally
            {
                //Do the needfull
            }
            // ExEnd:RetrieveFolderPermissionsUsingExchangeWebServiceClient
        }
Пример #2
0
        private static void ReadPublicFolders()
        {
            NetworkCredential credential = new NetworkCredential(username, password, domain);
            IEWSClient        client     = EWSClient.GetEWSClient(mailboxUri, credential);

            ExchangeFolderInfoCollection folders = client.ListPublicFolders();

            foreach (ExchangeFolderInfo publicFolder in folders)
            {
                Console.WriteLine("Name: " + publicFolder.DisplayName);
                Console.WriteLine("Subfolders count: " + publicFolder.ChildFolderCount);
                ListMessagesFromSubFolder(publicFolder, client);
            }
        }