2013-07-29 3 views
0

우리는 2007 년 교환 중이며 php-ews를 사용 중이며 룸 리소스에 대한 모든 예약 목록을 가져오고 싶습니다. 회의실 초대장을 만들 때 회의실 리소스 란 Outlook의 회의실 버튼을 의미합니다.php-ews exchange 2007 객실 캘린더 이벤트

코드는 지금까지 일정에서 항목을 반환하지만 '회의실 A'에서 일정이 필요합니다. 누구나이 짓을 한거야?

$host = 'mailhost'; 
$username = 'xxxx'; 
$password = 'xxxx'; 
$mail = 'xxxx'; 
$startDateEvent = "2013-01-14T09:00:00"; 
$endDateEvent = "2013-09-20T17:00:00"; 

$ews = new ExchangeWebServices($host, $username, $password); 
$request = new EWSType_FindItemType(); 
$request->Traversal = EWSType_FolderQueryTraversalType::SHALLOW; 

$request->CalendarView->StartDate = $startDateEvent; 
$request->CalendarView->EndDate = $endDateEvent; 
$request->CalendarView->MaxEntriesReturned = 100; 
$request->CalendarView->MaxEntriesReturnedSpecified = true; 
$request->ItemShape->BaseShape = EWSType_DefaultShapeNamesType::ALL_PROPERTIES; 

$request->ParentFolderIds->DistinguishedFolderId->Id = EWSType_DistinguishedFolderIdNameType::CALENDAR; 
$request->ParentFolderIds->DistinguishedFolderId->Mailbox->EmailAddress = $mail; 
$response = $ews->FindItem($request); 
echo '<pre>'.print_r($response, true).'</pre>'; 

답변

0

늦게 게임에하지만 어쩌면이 .... 누군가 도움이 될 것입니다

는 기본적으로 PHP-EWS는 GetRooms 작업을 추가하지 않습니다. 앱을 수정하여 ldap을 통해 룸 검색을 수행하고 (방이 AD에 있다고 가정) 각 룸의 이메일 주소를 사용하고 가장을 사용하여 캘린더를 쿼리 할 수 ​​있습니다.

여기에 내 대답은 ... 심지어 나중에 게임에있어 https://stackoverflow.com/a/23815914/2979715

0

를 참조하십시오. 하지만 내가 해결 한 방법은 회의실 이름 뒤에 교환 계정을 만드는 것입니다 (예 : 회의실 @).

그런 다음 회의 요청을 보낼 때마다 회의실에 복사 할 사람이 생겼습니다. 내 스크립트는 단순히 회의실 @의 달력을 조회합니다. 조직의 모든 사람들은 회의실의 일정을 읽기 전용 모드로 복사하여 그 주 모든 회의를 볼 수 있습니다.

이 소프트웨어는 방을 사용하고 있는지 여부를 보여주는 방 밖에있는 표시 사인이었습니다.