Получить текущего вошедшего в систему пользователя с помощью веб-служб Exchange SOAP - PullRequest
0 голосов
/ 09 октября 2018

мы используем веб-службы SOAP Exchange 2010 с пакетом обновления 1 (SP1).Я не могу найти API для получения информации о текущем (аутентифицированном) пользователе.

1 Ответ

0 голосов
/ 10 октября 2018
  1. Если вы хотите получить собственную электронную почту текущего пользователя:

Вы можете использовать ConvertId с общим адресом, и Exchange затем вернет PrimarySMTP для этого почтового ящика, например:

Folder Inbox = Folder.Bind(service, WellKnownFolderName.Inbox);
        AlternateId aiAlternateid = new AlternateId(IdFormat.EwsId, Inbox.Id.UniqueId, "mailbox@domain.com");
        AlternateIdBase aiResponse = service.ConvertId(aiAlternateid, IdFormat.EwsId);
        Console.WriteLine(((AlternateId)aiResponse).Mailbox);

AutoDiscover также возвращает адрес PrimarySMTP почтового ящика, если вы делаете обнаружение на основе POX.

Для проверки других адресов вы также можете использовать ResolveName:

Устранить неоднозначноимен с использованием EWS в Exchange 2013

Если вы хотите получить отображаемое имя вошедшего в систему пользователя в EWS:

Если вы собираетесь использовать ResolveName и хотите displayName, вам следует использовать перегрузку, чтобы указать, что операциядолжен вернуть AD контактную информацию.Тогда вы можете просто использовать свойство DisplayName.

    NameResolutionCollection ncCol = service.ResolveName("user@domain.com",ResolveNameSearchLocation.DirectoryOnly,true);

    Console.WriteLine(ncCol[0].Contact.DisplayName);

Для получения дополнительной информации вы можете обратиться по этой ссылке:

Как получить отображаемое имя вошедшего в систему пользователя в EWS?

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

...