微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHPEWS在公共日历上创建事件

我正在尝试将基于PHP的日历管理系统插入Exchange 2007日历.

我目前有以下代码设置.

$subject = 'Appointment with ..';

        $request = new EWSType_CreateItemType();
        $request->Items = new EWSType_NonEmptyArrayOfAllItemsType();
        $request->Items->CalendarItem = new EWSType_CalendarItemType();

        $request->Items->CalendarItem->Subject = $subject;

        $date1 = new DateTime('2015-05-10T15:00:00+03:00');
        $DateStart = $date1->format('Y-m-d H:i:00');
        $date = new DateTime($DateStart);
        $request->Items->CalendarItem->Start = $date->format('c');
        $date1 = new DateTime('2015-05-10T17:00:00+03:00');
        $DateEnd = $date1->format('Y-m-d H:i:00');
        $date = new DateTime($DateEnd);
        $request->Items->CalendarItem->End = $date->format('c');

        $request->Items->CalendarItem->ReminderIsSet = false;

        $request->Items->CalendarItem->ReminderMinutesBeforeStart = 15;

        $request->Items->CalendarItem->Body = new EWSType_BodyType();
        $request->Items->CalendarItem->Body->BodyType = EWSType_BodyTypeType::HTML;

$request->Items->CalendarItem->Body->_ = <<<EOD

    <p><strong>Staff Attending</strong>:bob</p>

EOD;

        $request->Items->CalendarItem->ItemClass = new EWSType_ItemClasstype();
        $request->Items->CalendarItem->ItemClass->_ = EWSType_ItemClasstype::APPOINTMENT;

        $request->Items->CalendarItem->Sensitivity = new EWSType_SensitivityChoicesType();
        $request->Items->CalendarItem->Sensitivity->_ = EWSType_SensitivityChoicesType::norMAL;

        $request->Items->CalendarItem->Categories = new EWSType_arrayofstringsType();
        $request->Items->CalendarItem->Categories->String = array(
            'Client Meeting (Scheduled)'
        );

        $request->Items->CalendarItem->Location = "Showroom";

        $request->SendMeetingInvitations = EWSType_CalendarItemCreateOrDeleteOperationType::SEND_ONLY_TO_ALL;
        $request->Items->CalendarItem->requiredAttendees->Attendee[0]->MailBox->EmailAddress = "user@domain.com";
        $request->Items->CalendarItem->requiredAttendees->Attendee[0]->MailBox->RoutingType  = 'SMTP';
        $n = 1;


        $response      = $ews->CreateItem($request);

这样就可以在用户的​​个人日历中设置一个事件,但是我需要做的是将其发布到我具有folderID的公用文件夹日历中.

如果有人可以提供帮助,将不胜感激!

解决方法:

尝试添加以下行:

        $request->SavedItemFolderId->FolderId->Id=$folder_id;

之后
            $request = new EWSType_CreateItemType();

其中$folder_id是您愚蠢的长Microsoft文件夹ID!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐