Найдите GUID почтового ящика пользователя по его адресу электронной почты EWS - PullRequest
0 голосов
/ 09 мая 2018

Я работаю над надстройкой Outlook и выполняю некоторые функции шифрования и дешифрования. Я создал хеш-строку на сервере во время запроса POST. Эта строка позже передается в запрос GET, и на сервере мне нужно сравнить эту хеш-строку, чтобы увидеть, является ли пользователь тем же пользователем, который выполнил запрос POST.

Когда я делаю запрос GET, я также отправляю пользователю smtp, используя Office.context.mailbox.userProfile.emailAddress.

Вопрос : Как найти пользователя mailboxGUID (или информацию об учетной записи, которая будет включать mailboxGUID и другие), используя их адрес электронной почты?

1 Ответ

0 голосов
/ 10 мая 2018

Вы хотите AD / Directory GUID или ExchangeGUID? вы можете получить ADGuid, используя ResolveName и указав набор свойств (это работает с 2010 года), например

        PropertySet exProp = new PropertySet(BasePropertySet.FirstClassProperties);
        NameResolutionCollection ncCol = service.ResolveName("user@domain.com", ResolveNameSearchLocation.DirectoryOnly, true, exProp);
        if (ncCol.Count == 1)
        {
            Console.WriteLine(ncCol[0].Contact.DirectoryId);
        }

MailboxGUID является частью формата FolderId, поэтому его можно проанализировать как https://msdn.microsoft.com/en-us/library/ee217297(v=exchg.80).aspx, если он вам действительно нужен.

...