2013-07-29 88 views
0

我們正在交流2007年,我正在使用php-ews,我想獲得所有房間資源預訂的列表。通過房間資源,我指的是創建會議邀請時前臺的房間按鈕。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

我甚至以後的比賽。但我解決這個問題的方式是在房間名稱後面創建一個交換賬戶,例如會議室@。

然後,當他們發出會議請求時,我就讓人們在會議室@中複製。我的腳本只是詢問董事會的日曆。組織中的每個人都擁有會議室日曆的副本,只讀模式下,他們可以查看該周的所有會議。

我的軟件是在房間外面的顯示標誌,顯示房間是否在使用或不是基於這個日曆。