2016-10-21 1 views
0

EWS 관리 API를 사용하여 특정 시간대에 사용 가능한 모든 무료 회의실을 가져 오는 방법을 알고 싶습니다. 예를 들어 10 월 20 일 오후 4시 - 오후 5시 사이에 예 :EWS 관리 API를 사용하여 사용 가능한 무료 회의실을 찾는 방법

+1

ExchangeService에서 약탈하십시오. GetUserAvailability 검색 : Exchange 2013 101 코드 샘플 – McNets

+0

죄송합니다. 이미 완료했지만 도움이되지 않았습니다. GetUserAvailability 메소드의 문제점은 1 시간 시간대를 지정하는 것이 불가능하다는 것입니다.이 시간대는 항상 시간이 아닙니다 (특정 요일 오후 4시에서 오후 5 시까 지). 내 요구 사항은 매우 간단합니다. 원하는 모든 것은 특정 일의 특정 시간대에 무료로 제공되는 모든 객실을 제공하는 간단한 검색입니다. 제안 시간을 ​​제공하는 시스템을 찾고 있지 않습니다. – user1233802

+0

EWS에는 GetUserAvailability 정보를 얻거나 FindItems를 사용하여 각 회의실 달력을 직접 쿼리하는 두 가지 옵션이 있습니다. RoomList에서 쿼리 할 방이 있습니까? GetUserAvailability를 사용하면 24 시간에 걸쳐 15 분 단위로 사용할 수있는 결과를 얻고 싶을뿐입니다. 따라서 4-5pm을 알고 싶다면 결과를 읽어야합니다. 유일한 문제는 얼마나 많은 사서함을 쿼리 할 수 ​​있습니까? –

답변

0

GetUserAvailability를 사용하는 것이 좋습니다. MSDN에 따르면

GetUserAvailability은 (는 IEnumerable, 시간 창은, AvailabilityData)의 방법에있어서의 결과를 제한 a.m.To 12시에서 24시간 긴 최소 그 시작과 끝은 단지 기간을 지원 더 짧은 기간에 클라이언트의 결과를 필터링해야합니다. 해야 당신이 찾고있는 객실의 SMTP 주소를 포함하는, 당신이 AttendeeInfo의 수집을 통과 참석자

new TimeWindow(DateTime.Today, DateTime.Today.AddDays(1)) 

:

는 오늘 무료로 객실을 찾고 그렇다면 당신은이 같은 시간 창 개체를 만들 수 있습니다 를 위해 : AvailabilityData를 들어

new List<AttendeeInfo>() { new AttendeeInfo("[email protected]"),new AttendeeInfo("[email protected]") }; 

, 당신이 제안이 필요하지 않은 경우는 쿼리가 가벼운 것 같은 AvailabilityData.FreeBusy을 통과하는 것이 좋습니다.

응답에서 오늘의 모든 회의의 통계 및 종료 시간이 포함 된 CalendarEvent 목록을 찾을 수 있으며 원하는 시간대의 무료 회의실이 있는지 확인할 수 있습니다. 요청 된 시간 범위가 회의와 겹치는 지 확인하려면 this post이 도움이 될 수 있습니다.