Кто-нибудь использовал делегатов с веб-службами exchnage? Я хотел бы, чтобы один пользователь мог управлять календарями других пользователей в Exchange. Я считаю, что эта проблема немного сложна, и я хотел бы видеть, как другие смогли заставить ее работать правильно.Использование делегатов с веб-службами Exchange
1
A
ответ
3
Я только начинаю здесь, но мне удалось получить доступ к Календари ресурсов через счет делегата.
Я использовал рекомендации от this article о счетах участников и ресурсных счетов. (Учетные записи ресурсов сложны, потому что они отключены в AD, и вы должны использовать учетную запись делегата для доступа к ним)
После настройки учетной записи делегата на сервере я настроил ExchangeServerBinding, используя учетные данные делегат счет:
ExchangeServiceBinding binding = new ExchangeServiceBinding();
binding.Url = @"https://dc1.litwareinc.com/ews/exchange.asmx";
// Setup binding with username and password of the delegate account
binding.Credentials =
new NetworkCredential(delegateuserName, delegatepassword, "litwareinc.com");
(Я использую Microsofts подготовил образ виртуального сервера для тестирования)
Тогда при доступе к почтовому ящику, я создал запрос FindItemType и использовать SMTP-адрес учетной записи Я хочу получить доступ:
// Prepare request
var findItemRequest = new FindItemType();
// Setup the mailbox using the smtp address of the account wanted
var mailbox = new EmailAddressType {EmailAddress = mailboxId};
findItemRequest.ParentFolderIds =
new[] {new DistinguishedFolderIdType {Mailbox = mailbox}};
((DistinguishedFolderIdType) findItemRequest.ParentFolderIds[0]).Id =
DistinguishedFolderIdNameType.calendar;
findItemRequest.Traversal = ItemQueryTraversalType.Shallow;
// Add ItemResponseShapeType and Calendarview to request here ...
// The create a FindItemResponseType using the binding and the request
var response = binding.FindItem(findItemRequest);
Так короче:
- Настройка учетной записи с доступом делегата на сервере Exchange, это может быть сделано с помощью OWA или с помощью сценария командной консоли Exchange
- Используйте учетную запись с доступом делегата на объект ExchangeServiceBinding
- целевого доступа с использованием учетной записи FindItemType с целевой учетной записи SMTP-EmailAddressType как Адресная
С уважением Jesper Hauge