EWS:访问共享日历

Mik*_*our 7 exchange-server calendar exchangewebservices ews-managed-api

我试图使用Exchange Web服务来访问日历数据,但我似乎无法弄清楚如何访问已被其他用户共享日历时,这不是他们的默认日历.假设在我公司其他用户创建的共享日历,并与我分享它,我甚至无法找到日历文件夹,更遑论在它获得的项目.

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

Sep*_*eph 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
Run Code Online (Sandbox Code Playgroud)

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

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


Hen*_*use 3

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

  • 我不明白为什么有必要这样做。忘记 EWS,如果我没有其他员工根文件夹的读取权限,但他们创建了一个共享文件夹并通过 Outlook 与我共享,我就可以看到它。他们共享文件夹是否会自动授予我对其根文件夹的读取权限?如果不是,为什么 Outlook 能够查看共享日历但不能查看 EWS? (4认同)