EWS: доступ к общим календарям - PullRequest
7 голосов
/ 18 ноября 2010

Я пытаюсь использовать веб-службы Exchange для доступа к данным календаря, но не могу понять, как получить доступ к календарям, которые были предоставлены другим пользователям, если они не являются календарем по умолчанию. Предполагая, что другой пользователь в моей компании создал общий календарь и поделился им со мной, я даже не могу найти папку календаря, не говоря уже о том, чтобы получить элементы внутри нее.

Ответы могут быть с точки зрения Управляемого API EWS (версия 1.0 или 1.1), непосредственно объекты службы или даже просто тело XML сообщения SOAP, которое необходимо отправить на сервер. Мне просто нужна какая-то отправная точка. Любая помощь будет принята с благодарностью.

Ответы [ 4 ]

7 голосов
/ 02 марта 2011

Вот как мне удалось это сделать:

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.

3 голосов
/ 21 ноября 2010

Это довольно сложно, потому что вам нужен FolderId рассматриваемой папки.Помимо доступа к папке календаря вам понадобится доступ для чтения к корневой папке почтового ящика.Это позволяет вам выполнить операцию FindFolder для получения этого идентификатора.

1 голос
/ 22 октября 2013

Я знаю, что спустя пару лет после оригинального поста, но просто чтобы помочь людям с подобными проблемами, посмотрите на это .

Он использует API-интерфейс WellKnownFolderName.PublicFoldersRoot EWS API для доступа к общей папке и просмотра запрошенной подпапки с использованием FolderId.

0 голосов
/ 19 августа 2016

Если вам нужно сделать это на Java, вот и ответ, который может помочь. Office365 API - доступ администратора к событиям календаря других пользователей / комнаты . У него есть рабочий образец кода. Пока MS не запустит REST API Azure V2.0, это способ сделать это.

...