我正在使用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);
他们都没有工作。
答案 0 :(得分:-1)
问题是我将UseDefaultCredentials设置为true,它似乎使用了AD凭据。当我将其设置为false并设置我的凭据时,它将起作用。