我在cakePHP 应用程序中使用 PHP-EWS ( https://github.com/jamesiarmes/php-ews )。目标是从交换服务器的“公共文件夹”中读取电子邮件。
问题是我只能读取公用文件夹的第一个“维度”并且找不到获取子目录的方法。
我必须读取的文件夹有 4 层深。
$this->connect();
// start building the find folder request
$request = new FindFolderType();
$request->Traversal = FolderQueryTraversalType::SHALLOW;
$request->FolderShape = new FolderResponseShapeType();
$request->FolderShape->BaseShape = DefaultShapeNamesType::ALL_PROPERTIES;
// configure the view
$request->IndexedPageFolderView = new IndexedPageViewType();
$request->IndexedPageFolderView->BasePoint = 'Beginning';
$request->IndexedPageFolderView->Offset = 0;
// set the starting folder
$request->ParentFolderIds = new NonEmptyArrayOfBaseFolderIdsType();
$request->ParentFolderIds->DistinguishedFolderId = new DistinguishedFolderIdType();
$request->ParentFolderIds->DistinguishedFolderId->Id = DistinguishedFolderIdNameType::PUBLIC_FOLDERS_ROOT;
// request
$response = $this->ews->FindFolder($request);
如果我将“遍历”更改为 DEEP,我会收到错误消息。
公用文件夹不允许进行深度遍历查询。
我也尝试过改变
$request->IndexedPageFolderView->BasePoint
对于“结束”“第二”之类的东西,它没有改变任何东西,所以我不知道它的作用以及如何使用它。
我也无法获取子目录文件夹 ID(用于更改起点),因为它从未被选中。
谢谢您的帮助。