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 = "[email protected]";
$request->Items->CalendarItem->RequiredAttendees->Attendee[0]->Mailbox->RoutingType  = 'SMTP';
$n = 1;$response      = $ews->CreateItem($request);

Это прекрасно настроит событие в личном календаре пользователя, но мне нужно сделать так, чтобы оно было отправлено в календарь общих папок, для которого у меня есть идентификатор папки.

Если кто-то может помочь, это будет очень цениться!

3

Решение

Попробуйте добавить строку:

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

после
$ request = new EWSType_CreateItemType ();

где $ folder_id — это ваш тупо длинный идентификатор папки Microsoft !!!!

2

Другие решения

Я делаю то же самое прямо сейчас.

Вы должны заменить SEND_ONLY_TO_ALL на SEND_TO_NONE.

Это означает, что мы не можем отправлять приглашения на встречи для встреч, хранящихся в общей папке (я уже несколько недель пытаюсь найти обходной путь для этой проблемы).

Я не уверен, есть ли другие проблемы в вашем запросе, но это, безусловно, проблема.

1

По вопросам рекламы [email protected]