1

大家好 :) 我正在尝试从资源会议框中获取所有会议,但是当我尝试像这样 $subject = $event->Subject 这样的主题时,它会显示创建会议的名称。$request->ParentFolderIds->DistinguishedFolderId->Mailbox->EmailAddress = "mail@domain.com" 这是我如何选择资源会议框的代码。

我想以其他方式讨论会议主题,如果你能帮助我,我会很高兴:)

$request = new EWSType_FindItemType();
// Use this to search only the items in the parent directory in question or use ::SOFT_DELETED
// to identify "soft deleted" items, i.e. not visible and not in the trash can.
$request->Traversal = EWSType_ItemQueryTraversalType::SHALLOW;
// This identifies the set of properties to return in an item or folder response
$request->ItemShape = new EWSType_ItemResponseShapeType();
$request->ItemShape->BaseShape = EWSType_DefaultShapeNamesType::DEFAULT_PROPERTIES;
// Define the timeframe to load calendar items
$request->CalendarView = new EWSType_CalendarViewType();
$request->CalendarView->StartDate ='2014-03-28T15:00:00+04:00';// an ISO8601 date e.g. 2012-06-12T15:18:34+03:00   "Y-m-d\TH:i:sO"
$request->CalendarView->EndDate = '2015-03-28T15:00:00+04:00';// an ISO8601 date later than the above    "Y-m-d\TH:i:sO"

// Only look in the "calendars folder"
$request->ParentFolderIds = new EWSType_NonEmptyArrayOfBaseFolderIdsType();
$request->ParentFolderIds->DistinguishedFolderId = new EWSType_DistinguishedFolderIdType();
$request->ParentFolderIds->DistinguishedFolderId->Id = EWSType_DistinguishedFolderIdNameType::CALENDAR;
$request->ParentFolderIds->DistinguishedFolderId->Mailbox->EmailAddress = "meetingroom@gcfund.ge";

// Send request
$response = $ews->FindItem($request);
// Loop through each item if event(s) were found in the timeframe specified
if ($response->ResponseMessages->FindItemResponseMessage->RootFolder->TotalItemsInView > 0){
    $events = $response->ResponseMessages->FindItemResponseMessage->RootFolder->Items->CalendarItem;


//       $db_selected = mysql_select_db('meeting_room',$con); 
//       $res=mysql_query("SELECT ID FROM meeting");
//       while($row = mysql_fetch_array($res)){
//       echo $row['ID'];
//       echo "<br>";
//       }
    foreach ($events as $event){

        $id = $event->ItemId->Id;
        $change_key = $event->ItemId->ChangeKey;
        $start = $event->Start;
        $end = $event->End;
        $subject = $event->Subject;
        $location = $event->Location;

此主题显示会议由谁创建。我也想要这个信息,但我也想要主题..请帮助:)

4

1 回答 1

0

这是 Exchange 的问题(不是您的代码、PHP 库或 EWS)

几个博客,例如这个: http ://www.slipstick.com/exchange/cmdlets/meeting-organizers-name-appears-in-subject-line/ 表明您可以执行一些 PowerShell 命令来更改 Exchange 服务器配置. 请注意,如果您更改配置,它将适用于配置更改后添加的所有新会议/约会(现有会议/约会将保持原样)。

如果您没有对 Exchange 服务器的 PowerShell 访问权限,但通过另一个系统具有管理员访问权限,则您可以通过该系统的界面实现相同的配置更改。例如,在 Parallels 托管的 Exchange 系统上,以管理员身份登录 Parallels,进入 Exchange,进入资源邮箱,编辑房间资源,然后取消选中“资源调度”选项卡下的“将组织者添加到主题”复选框。据我所知,这只是在幕后执行相同的 PowerShell 操作。

其他系统(例如 Office 365)中可能有类似的选项,尽管我没有研究过。

说了这么多,我发现对我的情况进行此配置更改并没有帮助:我针对房间资源创建了一个新会议,但是主题最终以“”(空字符串)而不是正确的主题或组织者的名字。无论如何,请尝试更改配置,因为其他人显然已经成功了。

于 2014-10-14T04:24:41.303 回答