PHP-EWS:无法获取房间日历

PHP-EWS:无法获取房间日历,php,api,exchangewebservices,Php,Api,Exchangewebservices,我在弄清楚如何通过EWSAPI获取资源(房间)的日历时遇到了问题。作为PHP包装器/库,我使用以下内容: 我试图将邮箱->电子邮件地址添加到请求中,但出现以下错误: [MessageText]=>SMTP地址没有与其关联的邮箱。 [ResponseCode]=>错误不存在邮箱 我想这里的问题是,这个房间没有一个与其相关联的具体邮箱,所以它找不到它。这方面有什么办法吗? 我可以直接访问文件夹吗?但是如何找到该房间日历的ID?此房间资源是新创建的吗?在Exchange中定义新房间时,不会立即创建与其

我在弄清楚如何通过EWSAPI获取资源(房间)的日历时遇到了问题。作为PHP包装器/库,我使用以下内容:

我试图将邮箱->电子邮件地址添加到请求中,但出现以下错误:

[MessageText]=>SMTP地址没有与其关联的邮箱。 [ResponseCode]=>错误不存在邮箱

我想这里的问题是,这个房间没有一个与其相关联的具体邮箱,所以它找不到它。这方面有什么办法吗?
我可以直接访问文件夹吗?但是如何找到该房间日历的ID?

此房间资源是新创建的吗?在Exchange中定义新房间时,不会立即创建与其关联的所有对象。根据我的经验,必须首先“访问”,例如通过OWA。之后,应该有一个与SMTP关联的实际邮箱。因此,请尝试在Outlook或OWA中查看此房间,然后查看是否仍会出现此错误。

房间已经分配了约会,这就是您所说的“访问”房间的意思吗?或者你的意思是像模拟房间一样?是的,如果它有应用程序,那么它真的在那里。但是为什么我不能为它获取文件夹呢?我唯一可能遇到的是某种权限问题,尽管当这种情况发生时,我通常会得到ErrorFolderNotFound。还要确保您用于日历访问的userid也有一个真实的邮箱——我见过这样会导致各种奇怪错误的情况。确保用户对文件室MB具有完全访问权限。您还可以调查模拟。实际上是权限问题。IT部门搞乱了正确的配置。谢谢您是否尝试过使用诸如EWSEditor之类的工具来查看文件室资源?我可以连接到EWS并在“其他”下使用“查找约会”并进入邮箱并提取约会。这样,如果您可以连接并获取约会,您就可以查看约会并查看文件夹ID和您可能需要的大多数其他信息。它可以提供一切设置是否正确的线索。检查后,它使编程更容易。我一直远离PHP版本,因为据我所知,它在获取文件室资源时可能会遇到问题。我本来可以帮上更多的忙,但我选择了C。
$ews = new ExchangeWebServices('server', 'user', 'pw');
$request = new EWSType_FindItemType();
$request->Traversal = EWSType_ItemQueryTraversalType::SHALLOW;
$request->ItemShape = new EWSType_ItemResponseShapeType();
$request->ItemShape->BaseShape = EWSType_DefaultShapeNamesType::DEFAULT_PROPERTIES;
$request->CalendarView = new EWSType_CalendarViewType();
$request->CalendarView->StartDate = '2014-02-05T15:18:34+03:00'; 
$request->CalendarView->EndDate = '2014-06-12T15:18:34+03:00'; 
$request->ParentFolderIds = new EWSType_NonEmptyArrayOfBaseFolderIdsType();
$request->ParentFolderIds->DistinguishedFolderId = new EWSType_DistinguishedFolderIdType();
$request->ParentFolderIds->DistinguishedFolderId->Id = EWSType_DistinguishedFolderIdNameType::CALENDAR;
$request->ParentFolderIds->DistinguishedFolderId->Mailbox->EmailAddress = "roomname@adress.xxx";
$response = $ews->FindItem($request);