1
A
回答
0
@Souljacker - EWS不公开全球通讯簿。如果您想查找房间资源,可以使用GetRoomLists operation和GetRooms operation。 EWS公开的信息来自全球地址簿的唯一地方是通过ResolveNames operation和FindPeople operation以及Directory选项。
2
我不认为GetRooms
方法曾被添加到php-ews中。看来他们只是停止发展。 看.. https://github.com/jamesiarmes/php-ews/issues/91
作为一种变通方法,如果在Active Directory中存在你的房间,你可以做一个LDAP查询使用房间的电子邮件地址,以获得它的日历用PHP来打通各个房间的房间,然后循环-ews。否则,您可以使用其电子邮件地址维护房间的数据库列表,并在循环之前以这种方式拉取它们。
一旦你有房间的电子邮件地址,你会使用Exchange模拟,冒充房间的电子邮件来检查它的日历。
事情是这样的......
// Configure impersonation using the conference OwnerEmailAddress
$ei = new EWSType_ExchangeImpersonationType();
$sid = new EWSType_ConnectingSIDType();
$sid->PrimarySmtpAddress = $email;
$ei->ConnectingSID = $sid;
$ews->setImpersonation($ei);
// Set the search for calendar item types
$request = new EWSType_FindItemType();
$request->Traversal = EWSType_ItemQueryTraversalType::SHALLOW;
$request->ItemShape = new EWSType_ItemResponseShapeType();
$request->ItemShape->BaseShape = EWSType_DefaultShapeNamesType::ALL_PROPERTIES;
$request->CalendarView = new EWSType_CalendarViewType();
// Set the instance start and end times
$request->CalendarView->StartDate = $start->format('Y-m-d\TH:i:s');
$request->CalendarView->EndDate = $end->format('Y-m-d\TH:i:s');
// Set the search location as the calendars folder of the impersonated user
$request->ParentFolderIds = new EWSType_NonEmptyArrayOfBaseFolderIdsType();
$request->ParentFolderIds->DistinguishedFolderId = new EWSType_DistinguishedFolderIdType();
$request->ParentFolderIds->DistinguishedFolderId->Id = EWSType_DistinguishedFolderIdNameType::CALENDAR;
$request->ParentFolderIds->DistinguishedFolderId->Mailbox->EmailAddress = $email;
// Execute the search
$response = $ews->FindItem($request);
在那里你提供$email
和$start
和$end
。注意:您访问EWS API的帐户将需要模拟权限。
好运。
相关问题
- 1. 如何查询全球通讯簿?
- 2. Swift - 访问通讯簿获取数组
- 3. 访问Windows移动通讯簿
- 4. C#Outlook 2010获取完整的全球通讯簿信息
- 5. 获取访问Outlook的交换全球通讯录
- 6. 通过全球通讯录搜索
- 7. 通讯簿实施
- 8. 全球访问Homestead
- 9. 访问值全球
- 10. C# - 访问Web应用程序中的Outlook通讯簿
- 11. 通讯簿监听器
- 12. iPhone Three20 TTMessageController通讯簿
- 13. 通讯簿返回旧值
- 14. 访问微调值全球
- 15. Php访问全球分类
- 16. 访问插件全球hapijs
- 17. 全球访问WPF控制
- 18. 数据库设计通讯簿
- 19. 使用c#自定义Outlook通讯簿
- 20. Java通讯簿 - 后续步骤
- 21. 链接IOS通讯簿应用
- 22. Firebase是否允许通讯录访问?
- 23. Xamarin访问通讯录获得信息
- 24. 访问全球varibile任何类
- 25. 无法访问QML变量/ ID全球
- 26. Android的全球访问SQLite数据库
- 27. 动态网站,全球访问会话
- 28. Python,全球可访问的函数
- 29. 全球访问数据REACT JS
- 30. 访问一个Node.js的全球模块