EWS:访问共享日历

时间:2010-11-18 17:04:38

标签: calendar exchange-server exchangewebservices ews-managed-api

我正在尝试使用Exchange Web服务来访问日历数据,但我似乎无法弄清楚如何访问其他用户不是默认日历时共享的日历。假设我公司的另一位用户创建了一个共享日历并与我共享,我甚至找不到日历文件夹,更不用说获取其中的项目了。

答案可以是EWS托管API(版本1.0或1.1),服务对象,甚至是需要发送到服务器的SOAP消息的XML主体。我只需要某种起点。任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:7)

以下是我设法做到的方法:

Dim _cal As New Microsoft.Exchange.WebServices.Data.FolderId(Microsoft.Exchange.WebServices.Data.WellKnownFolderName.Calendar, New Microsoft.Exchange.WebServices.Data.Mailbox(_otherAddress))
Dim _calendarView As New Microsoft.Exchange.WebServices.Data.CalendarView(_startTime.Date, _endTime.Date.AddDays(1))

For Each appointmentItem As Microsoft.Exchange.WebServices.Data.Appointment In _
    service.FindAppointments( _
    _cal, _
    _calendarView)
Next

注意:这仅适用于默认日历,因为这是我的要求所需的全部

编辑:对于非默认日历,您是否查看了ExchangeService.FindFolders方法,我没有尝试过,但这可能不需要root收件箱访问。

答案 1 :(得分:3)

这很复杂,因为你需要有问题的文件夹的FolderId。除了访问日历文件夹之外,您还需要对邮箱根文件夹的读取权限。这允许您执行FindFolder操作以检索该ID。

答案 2 :(得分:1)

我知道这是在原帖后几年,但只是为了帮助有类似问题的人,请查看this

它使用EWS API的WellKnownFolderName.PublicFoldersRoot来访问公用文件夹,并使用FolderId浏览所请求的子文件夹。

答案 3 :(得分:0)

如果你需要在Java中这样做,这里和答案可能有所帮助。 Office365 API - Admin accessing another users/room's calendar events。它有一个工作的代码示例。在MS获得Azure V2.0 REST API之前,这是实现它的方法。

相关问题