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 }
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 }