使用php-ews,我尝试通过示例创建一个日历事件(只是为了掌握它的窍门):
require $server_path.'scripts/ews/vendor/autoload.php';
use garethpewsAPI;
use garethpewsAPIEnumeration;
use garethpewsAPIType;
$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' => EnumerationBodyTypeType::HTML,
'_value' => 'This is <b>the</b> body'
),
'ItemClass' => EnumerationItemClassType::APPOINTMENT,
'Sensitivity' => EnumerationSensitivityChoicesType::NORMAL,
'Categories' => array('Testing', 'php-ews'),
'Importance' => EnumerationImportanceChoicesType::NORMAL
)
),
'SendMeetingInvitations' => EnumerationCalendarItemCreateOrDeleteOperationType::SEND_TO_NONE
);
$request = Type::buildFromArray($request);
$response = $ews->CreateItem($request);
我得到:
PHP 致命错误:调用未定义的方法 garethp\ews\API::CreateItem() in
在执行部分 ($ews->CreateItem())
请看一下我的examples/
,它们正好涵盖了这一点。首先要注意的是,创建日历事件非常简单,因此并不完全需要您的长请求。话虽如此,如果您想直接访问这些功能,则无法做到
$response = $ews->CreateItem($request);
你需要做
$response = $ews->getClient()->CreateItem($request);
可在此处找到有关手动生成请求的详细信息。