我们正在进行2007年的交流,我正在使用php-ews,我希望得到一份房间资源的所有预订清单。根据房间资源,我的意思是创建会议邀请时Outlook中的房间按钮。
到目前为止我的代码从我的日历中返回项目,但我需要来自'会议室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 :(得分:1)
我甚至迟到了比赛。但我解决这个问题的方法是在房间名称之后创建一个交换帐户,例如会议室@。
然后,每当他们发出会议请求时,我都会让人们在董事会会议室中复制。我的脚本只是询问董事会@的日历。组织中的每个人都有一个只读模式的会议室日历副本,他们可以查看这一周的所有会议。
我的软件用于房间外的显示标志,根据此日历显示房间是否正在使用。
答案 1 :(得分:0)
游戏后期但也许这会对某人有所帮助....
基本上,php-ews从未添加GetRooms
操作。您可以修改您的应用程序以通过ldap执行房间查找(假设您的房间存在于AD中),然后使用每个房间的电子邮件地址并使用模拟查询它的日历。
在这里看到我的答案...... https://stackoverflow.com/a/23815914/2979715