Я пытаюсь разработать приложение для синхронизации календарей и контактов с другой системой. Приложение написано на C#, но я не понимаю, как я могу получить все календари и контакты пользователя, не зная учетных данных каждого из них. Приложение должно не опрашивать информацию, а отправлять ее моему приложению как событие.
Я уже искал на сайтах MS, загрузил «Образцы кода Exchange 2013 101» и успешно написал сценарий, который отправляет электронное письмо другому пользователю, но аутентификация работала только с учетными данными пользователя.
Можно ли создать «главного» пользователя, который может читать все календари и контакты данного списка пользователей? Может ли ExchangeServer вызвать мое приложение и отправить информацию (например, с помощью SOAP) или мне нужно провести опрос?
ОБНОВИТЬ:
Я создал пользователя, который имеет полное право на все, но я не знаю, как читать данные с сервера, потому что календарь «главного» пользователя пуст. Когда я посещаю OWA и решу заглянуть в чей-то календарь, я могу увидеть встречи.
Код для разрешений:
Get-Mailboxdatabase | Add-ADPermission -AccessRights ExtendedRight -ExtendedRights Receive-As, Send-As -User "<SuperAccount>"
А этот делится календарем:
Add-MailboxFolderPermission –Identity <MailboxFolderId>:\Calendar -AccessRight ReadItems -User <SuperAccount>
Как я могу получить календарь пользователя с моим мастер-пользователем?