3
我正在嘗試通過Exchange EWS獲取所有Exchange中的房間預約。Exchange EWS:如何獲取房間中的所有約會
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
service.UseDefaultCredentials = true;
service.AutodiscoverUrl("[email protected]", RedirectionUrlValidationCallback);
// Return all the room lists in the organization.
EmailAddressCollection roomLists = service.GetRoomLists();
System.Collections.ObjectModel.Collection<EmailAddress> rooms = service.GetRooms("[email protected]");
EmailAddress roomAdress = rooms[31];
FolderId folderid = new FolderId(WellKnownFolderName.Calendar, new Mailbox(roomAdress.Address));
FindItemsResults<Appointment> aps = service.FindAppointments(folderid, new CalendarView(DateTime.Now, DateTime.Now.AddHours(24)));
如果我運行這段代碼我得到一個錯誤信息,指出:
{"The specified folder could not be found in the store."}.
事實上,如果我告訴我這樣一個會議室郵箱的所有文件夾的集合,還有它裏面沒有文件夾。
我在做什麼錯?互聯網中的所有示例都與WellKnownFolderName.Calendar一起使用。
但是當我在Outlook中打開日曆具有相同的憑據,我沒有問題訪問它。我需要另外訪問郵箱嗎? – murratore 2014-10-08 07:52:18
您是否嘗試過使用service.credentials指定憑據?您可以使用EWSEditor訪問房間郵箱http://ewseditor.codeplex.com/ – 2014-10-08 08:43:09
爲日曆文件夾添加權限解決了問題。例如,要允許用戶'readonly'在'room123'上查看日曆約會: 'Add-MailboxFolderPermission -Identity [email protected]:\ Calendar -AccessRights Reviewer -User readonly @ test.example.com' – 2017-08-08 07:01:40