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 に答える