使用php ews向Exchange 2007添加约会

使用php ews向Exchange 2007添加约会,php,exchange-server,exchangewebservices,Php,Exchange Server,Exchangewebservices,有没有人有使用php ews的经验?我想通过php ews在Exchange2007日历中添加一个新的约会,但我不确定如何添加。php ews的文档非常有限。以前有没有人做过这件事,并愿意提供一些例子? 谢谢你。我几周前就经历了这件事。这方面的文档很糟糕。请随时问我有关PHP和EWS的任何问题 因此,假设您的意思是要为某个用户的日历创建一个新的日历事件,那么首先需要下载James Armes的Exchange Web服务客户端: 这是一系列的PHP类,通过PHP可以轻松访问Exchange服务器

有没有人有使用php ews的经验?我想通过php ews在Exchange2007日历中添加一个新的约会,但我不确定如何添加。php ews的文档非常有限。以前有没有人做过这件事,并愿意提供一些例子?
谢谢你。我几周前就经历了这件事。这方面的文档很糟糕。请随时问我有关PHP和EWS的任何问题

因此,假设您的意思是要为某个用户的日历创建一个新的日历事件,那么首先需要下载James Armes的Exchange Web服务客户端:

这是一系列的PHP类,通过PHP可以轻松访问Exchange服务器

然后创建一个ExchangeWebServices对象

$ews = new ExchangeWebServices(
'server address',
'username@address',
'password'
);
从这里,您可以通过在PHP中构造一个“请求”对象来构造SOAP XML请求,该对象的属性是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请求调用哪些方法:(请参阅“操作”和“XML元素”)


希望这有帮助!如果您有任何问题,请告诉我。

啊。我几周前就经历了这件事。这方面的文档很糟糕。请随时问我有关PHP和EWS的任何问题

因此,假设您的意思是要为某个用户的日历创建一个新的日历事件,那么首先需要下载James Armes的Exchange Web服务客户端:

这是一系列的PHP类,通过PHP可以轻松访问Exchange服务器

然后创建一个ExchangeWebServices对象

$ews = new ExchangeWebServices(
'server address',
'username@address',
'password'
);
从这里,您可以通过在PHP中构造一个“请求”对象来构造SOAP XML请求,该对象的属性是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请求调用哪些方法:(请参阅“操作”和“XML元素”)


希望这有帮助!如果您有任何问题,请告诉我。

这很有效,谢谢您的帮助。我相信将来我会有更多的问题。我希望php ews能尽快获得更多文档。还有一个问题:假设我连接的用户有权访问其他用户的日历,我如何将日历项添加到其他用户的日历中?另外,在示例代码中,$category和$body指的是什么?若要将项目添加到其他用户的日历中,您需要添加与会者。请参见此处的示例XML:($category和$body只是文本的占位符变量。category是项目的“颜色”或类别,body是事件的正文)嘿@Irimet,有什么方法可以与您联系吗?这很有效,谢谢您的帮助。我相信将来我会有更多的问题。我希望php ews能尽快获得更多文档。还有一个问题:假设我连接的用户有权访问其他用户的日历,我如何将日历项添加到其他用户的日历中?另外,在示例代码中,$category和$body指的是什么?若要将项目添加到其他用户的日历中,您需要添加与会者。请参见此处的示例XML:($category和$body只是文本的占位符变量。category是项目的“颜色”或类别,body是事件的正文)嘿@Irimet,有什么方法可以与您联系吗?