Я использую EWS GetUserAvailability, и все работает на локальном хосте, но при отправке моего кода на сервер я получаю следующее сообщение об ошибке:
Запрос не выполнен.Удаленный сервер возвратил ошибку: (401) Unauthorized.
Почему это работает не на моем сервере, а только на localhost?
Вот мой код:
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
service.Credentials = new WebCredentials("username","password");
service.Url = new Uri("https://mail.mydomain.com/ews/exchange.asmx");
service.UseDefaultCredentials = true;
List<AttendeeInfo> attendees = new List<AttendeeInfo>();
attendees.Add(new AttendeeInfo()
{
SmtpAddress = "b@mydomain.com",
AttendeeType = MeetingAttendeeType.Room
});
attendees.Add(new AttendeeInfo()
{
SmtpAddress = "bl@mydomain.com",
AttendeeType = MeetingAttendeeType.Room
});
AvailabilityOptions availabilityOptions = new AvailabilityOptions();
availabilityOptions.GoodSuggestionThreshold = 49;
availabilityOptions.MaximumNonWorkHoursSuggestionsPerDay = 0;
availabilityOptions.MaximumSuggestionsPerDay = 2;
availabilityOptions.MeetingDuration = 60;
availabilityOptions.MinimumSuggestionQuality = SuggestionQuality.Good;
availabilityOptions.DetailedSuggestionsWindow = new TimeWindow(DateTime.Now, DateTime.Now.AddDays(1));
availabilityOptions.RequestedFreeBusyView = FreeBusyViewType.FreeBusy;
GetUserAvailabilityResults results = service.GetUserAvailability(attendees,
availabilityOptions.DetailedSuggestionsWindow,
AvailabilityData.FreeBusyAndSuggestions,
availabilityOptions);
Я также пытался:
service.Credentials = new WebCredentials("username\\DOMAINNAME","password");
service.Credentials = new WebCredentials("username","password", "DOMAINNAME");
service.Credentials = new WebCredentials("username@mydomain.com","password");
Ни один из них не работал.