【发布时间】:2015-05-28 14:47:34
【问题描述】:
我正在创建一个需要获取每个邮箱权限的应用程序,但我似乎无法让它工作。我在 VS 对象浏览器中注意到 Permissions 属性在 Folder 类上。
所以我猜我需要获取MailBox 对象,然后获取根/默认文件夹,这样我才能获取权限。
这是我到目前为止所做的,但是当它调用 Folder rootfolder = Folder.Bind(service, sharedMailboxRootFolderId); 时,我得到以下异常:
"客户端访问服务器版本与访问的不匹配 资源的邮箱服务器版本。”
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
string exchangeServerWebServicesUrl = "https://example.com/EWS/Exchange.asmx";
service.Url = new Uri(exchangeServerWebServicesUrl);
string username = "*********************";
string password = "*********************";
service.UseDefaultCredentials = false;
service.Credentials = new WebCredentials(username, password);
Mailbox sharedMailbox = new Mailbox("shared@example.com");
FolderId sharedMailboxRootFolderId = new FolderId(WellKnownFolderName.Root, sharedMailbox);
Folder rootfolder = Folder.Bind(service, sharedMailboxRootFolderId);
var permissions = rootfolder.Permissions;
我尝试传入不同的 ExchangeVersion 枚举值,但它们也不起作用。但是当我尝试获取公用文件夹根文件夹时,传递 ExchangeVersion.Exchange2007_SP1 确实有效。
Folder rootfolder = Folder.Bind(service, WellKnownFolderName.PublicFoldersRoot);
那么问题是如何使用 EWS 获得 MailBoxes 权限?
【问题讨论】: