Exchange服务-EWS-仅适用于本地主机

时间:2019-06-28 17:49:34

标签: c# exchange-server exchangewebservices

我正在使用EWS GetUserAvailability,并且一切都可以在localhost上运行,但是将代码推送到服务器时,出现以下错误消息:

  

请求失败。远程服务器返回错误:(401)   未经授权。

为什么这在我的服务器上不起作用,而仅在本地主机上起作用?

这是我的代码:

const array=[
  {name:'C',Key:'14',val:3},
  {name:'B',Key:'12',val:2},
  {name:'A',Key:'11',val:1},
  {name:'D',Key:'16',val:4},
  {name:'E',Key:'18',val:5}
];

console.log(array);

function comparer(prop){
  return function(a,b){
    return a[prop]-b[prop];
  }
};
array.sort(comparer('Key'));
console.log(array);
array.sort(comparer('val'));
console.log(array);

我也尝试过:

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);

他们都没有工作。

1 个答案:

答案 0 :(得分:-1)

问题是我将UseDefaultCredentials设置为true,它似乎使用了AD凭据。当我将其设置为false并设置我的凭据时,它将起作用。