#outlook-web-addins
Вопрос:
Я разрабатываю надстройку для Outlook Desktop и хочу позвонить в свою службу во время OnNewMessageCompose
мероприятия.
Я использую fetch вот так. Я отправляю сообщение в свой сервис с помощью токена и тела
const result = await fetch('https://myservice.com/endpoint', {
mode: 'cors',
method: 'POST',
headers: {
'Content-Type' : 'applications/json',
'Authorization': 'Bearer : token'
},
body: JSON.stringify(body)
});
Когда надстройка запускается в веб-версии Outlook, все в порядке. При запуске на рабочем столе. это не удается. Аналогичная проблема была отмечена в отношении пользовательских функций Excel, и решением было использование Sharedruntime. Это, по-видимому, недоступно в Outlook. Если я выну заголовки, это нормально, но в идеале они мне нужны для авторизации в службе. Есть ли способ передать пользовательские заголовки через СООБЩЕНИЕ в настольной версии надстройки?
Ответ №1:
Рабочий стол Outlook не поддерживает SharedRuntime, так что обходной путь не сработает. Мы задокументировали отсутствие полной поддержки CORS в Интернете. Выполните поиск полных КОРС на этой странице : https://docs.microsoft.com/en-us/office/dev/add-ins/outlook/autolaunch
В качестве обходного пути на данный момент убедитесь, что ваша надстройка и ваша служба находятся в одном источнике, чтобы устранить необходимость в CORS.
В настоящее время мы работаем над поддержкой полного CORS. К сожалению, у нас нет никаких временных рамок, которыми мы могли бы поделиться.