Используя php-ews, я пытаюсь создать событие календаря на примере (просто чтобы понять его):
require $server_path.'scripts/ews/vendor/autoload.php';
use garethp\ews\API;
use garethp\ews\API\Enumeration;
use garethp\ews\API\Type;
$ews = API::withUsernameAndPassword($exchange_host, $_SESSION["user_data"]["u_email"], $_SESSION["user_data"]["u_pwd"]);
Кажется, работает без ошибок.
// Start building the request.
$calendar = $ews->getCalendar();
$start = new DateTime('8:00 AM');
$end = new DateTime('9:00 AM');
$request = array(
'Items' => array(
'CalendarItem' => array(
'Start' => $start->format('c'),
'End' => $end->format('c'),
'Body' => array(
'BodyType' => Enumeration\BodyTypeType::HTML,
'_value' => 'This is <b>the</b> body'
),
'ItemClass' => Enumeration\ItemClassType::APPOINTMENT,
'Sensitivity' => Enumeration\SensitivityChoicesType::NORMAL,
'Categories' => array('Testing', 'php-ews'),
'Importance' => Enumeration\ImportanceChoicesType::NORMAL
)
),
'SendMeetingInvitations' => Enumeration\CalendarItemCreateOrDeleteOperationType::SEND_TO_NONE
);
$request = Type::buildFromArray($request);
$response = $ews->CreateItem($request);
Я получил:
Неустранимая ошибка PHP: вызов неопределенного метода garethp \ ews \ API :: CreateItem () в
в исполняемой части ($ ews-> CreateItem ())
Пожалуйста, посмотрите на мой examples/
, они охватывают именно это. Первое, что нужно отметить, это то, что создание событий календаря невероятно упрощенный, так что ваш длинный запрос не совсем нужен. При этом, если вы хотите получить доступ к функциям напрямую, вы не можете сделать
$response = $ews->CreateItem($request);
тебе нужно сделать
$response = $ews->getClient()->CreateItem($request);
Более подробную информацию о создании запросов вручную можно найти Вот.
Других решений пока нет …