Тьфу. Я прошел через это несколько недель назад. Документация для этого отстой. Не стесняйтесь задавать мне любые вопросы о PHP и EWS.
Итак, если вы хотите создать новое событие Календаря для календаря какого-то пользователя, вам нужно начать с загрузки клиента веб-служб Exchange от James Armes: http://code.google.com/p/php-ews/source/browse/
Это серия классов PHP, облегчающая доступ к серверу Exchange через PHP.
Затем вы создаете объект ExchangeWebServices
$ews = new ExchangeWebServices(
'server address',
'username@address',
'password'
);
Оттуда вы можете создавать запросы SOAP XML, создавая объект «запрос» в PHP, где атрибуты объекта являются слоями запроса SOAP.
$request->SendMeetingInvitations = 'SendToNone';
$request->SavedItemFolderId->DistinguishedFolderId->Id = 'calendar';
$request->Items->CalendarItem->Subject = 'this is the subject of the email';
$request->Items->CalendarItem->Start = date('c', strtotime('today'));
//making this an all day event for the heck of it
$request->Items->CalendarItem->End = date('c', strtotime('today + 1 day'));
$request->Items->CalendarItem->IsAllDayEvent = true;
$request->Items->CalendarItem->LegacyFreeBusyStatus = 'Free';
$request->Items->CalendarItem->Categories->String = $category;
$request->Items->CalendarItem->Body->BodyType = 'Text';
$request->Items->CalendarItem->Body->_ = $body;
И тогда вы отправляете запрос на сервер:
$response = $ews->CreateItem($request);
var_dump-ing $ response даст вам ответ сервера и даст вам хорошее представление о том, как работает XML.
Что касается небольшого количества документации, то документы Microsoft расскажут вам, как настраиваются запросы XML (то есть, какие атрибуты для предоставления каких объектов), а также какие методы вы можете вызывать в своих запросах XML: http://msdn.microsoft.com/en-us/library/bb204119(v=exchg.140).aspx (см. «Операции» и «Элементы XML»)
Надеюсь, это поможет! Дайте мне знать, если у вас есть какие-либо вопросы.