Установление соединения со службой обмена Microsoft с использованием c # - PullRequest
0 голосов
/ 04 июня 2018

Мне нужно установить соединение с веб-службой Microsoft Exchange, и мне были предоставлены следующие данные:
Адрес общего почтового ящика, скажем, -

"student@student.edu"

Сказать, что служебная учетная запись -

"Student SA"

Пароль для служебной учетной записи сказать -

"Pass1234«

Я следовал примеру кода, приведенному на веб-сайте https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/get-started-with-ews-managed-api-client-applications

Ниже приведен пример кода с использованием указанных выше сведений -

static void Main(string[] args)
        {
            ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);

            service.Credentials = new WebCredentials("Student SA", "Pass1234");

            service.TraceEnabled = true;
            service.TraceFlags = TraceFlags.All;

            service.AutodiscoverUrl("students@student.edu", RedirectionUrlValidationCallback);

            // service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.PrincipalName, "myADAccount");    

        }

        private static bool RedirectionUrlValidationCallback(string redirectionUrl)
        {
            // The default for the validation callback is to reject the URL.
            bool result = false;

            Uri redirectionUri = new Uri(redirectionUrl);

            // Validate the contents of the redirection URL. In this simple validation
            // callback, the redirection URL is considered valid if it is using HTTPS
            // to encrypt the authentication credentials. 
            if (redirectionUri.Scheme == "https")
            {
                result = true;
            }
            return result;
        }

КогдаЯ запускаю это локально, я получаю ниже сообщения об ошибках

    <Trace Tag="AutodiscoverConfiguration" Tid="9" Time="2018-06-04 15:10:07Z">  
 Request error: The remote server returned an error: (401) Unauthorized.  
 </Trace> 

Я искал то же самое в других темах здесь Как подключиться к Exchange?

, а также наКод проекта, но все они одинаково рассказывают о том, как подключиться к обмену веб-сервисом.

Я не уверен, почему я получаю неавторизованный доступ в AutodiscoverConfiguration и использую ли я правильный код для подключения к серверу обмена с использованием предоставленной информации учетной записи службы.

Помощь будет оценена!
TIA

1 Ответ

0 голосов
/ 05 июня 2018

Ваш формат учетных данных не выглядит правильным, вы должны либо использовать формат нижнего уровня, который будет домен \ имя пользователя, либо имя участника-пользователя, см. https://msdn.microsoft.com/en-us/library/windows/desktop/aa380525(v=vs.85).aspx. Я бы посоветовал вам использовать имя участника-пользователя, так как это всегда должно работать.

...