Мы пытаемся заставить нашу надстройку Office Excel связываться с одной из наших собственных служб веб-API, чтобы она могла отправлять и получать данные от нее. Чтобы запрос был авторизован, мы должны заполнить атрибут заголовка Authorization. Вот как мы делаем запрос, который отлично работает во всех наших обычных веб-приложениях.
this.LoginAuth = function (authString) {
$http.defaults.headers.common.Authorization = 'Basic ' + authString;
return $http({
url: MainFactory.GetWebAPILocation() + '/API/User/AddInLoginAuth',
dataType: 'json',
method: 'POST',
data: {},
headers: {
"Content-Type": "application/json"
}
});
}
Однако, когда запрос выполняется через надстройку, атрибут авторизации очищается, что приводит к сбою нашего запроса. Эта очистка атрибута выполняется Excel? И если да, то есть ли способ остановить это?
К сожалению, если мы это сделаем, произойдет то же самое; заголовок авторизации очищается.
Служба AngularJS $http игнорирует настройку свойства dataType: 'json'. И заголовок Content-Type не нужен, так как он используется автоматически по умолчанию.


Оказывается, это была проблема CORS в нашей службе веб-API.
Можете ли вы попробовать добавить заголовки в объект конфигурации, т.е. заголовки: { "Content-Type": "application/json", "Authorization" = "Basic +authstring" }