Надстройка Outlook в версии ProPlus MSI 2016 (MSO 16.0.4549.1000) выдает ошибку «Отказано в доступе» для displayDialogAsync - PullRequest
0 голосов
/ 04 июня 2019

Я разрабатываю новую надстройку Outlook, которая использует displayDialogAsync для проверки подлинности.У нас есть несколько разных вариантов клиентов.Он отлично работает в Outlook для Mac 2016 и Office 365 ProPlus Click-To-Run версии 1808 для Windows.Но в версии Office 2016 ProPlus MSI (MSO 16.0.4549.1000) для Windows выдается сообщение об ошибке «Отказано в доступе».

Страница требований API диалога https://docs.microsoft.com/en-us/office/dev/add-ins/reference/requirement-sets/dialog-api-requirement-sets указывает на Office 2016 или более позднюю версиюWindows (одноразовая покупка) с Build 16.0.4390.1000 или более поздней версии, она должна работать.Наша версия сборки явно позже, но мы все равно получаем эту ошибку.

Я также убедился, что это не связано с доменами приложений в манифесте.Я добавил домен, который я пытаюсь открыть в диалоговом окне, в домены приложений.

1 Ответ

0 голосов
/ 05 июня 2019

Когда API недоступен в Outlook Desktop, он может возвращать ошибку «Отказано в доступе», которая является неправильным сообщением об ошибке.В данном случае это просто означает, что API недоступен.

Поскольку ваша версия Outlook выше 4390, эта причина, скорее всего, связана с тем, что для displayDialog API также требуется обновленная версия клиентских DLL-файлов OSF.Когда обновления Office применяются через Центр обновления Майкрософт, все библиотеки DLL Office должны автоматически обновляться вместе.В тех случаях, когда обновления применяются вручную, некоторые библиотеки Office DLL могут не включаться в обновление.Если пользователь намеренно хочет применить обновления по отдельности, на этой странице перечислены последние файлы обновлений Office 2016 (ищите обновление osfclient-x-none , которое содержит библиотеки DLL, необходимые для displayDialogAPI).

В вашей надстройке также есть две вещи, которые вы можете сделать, чтобы обнаружить этот случай.Во-первых, мы рекомендуем использовать Office.context.requirements.isSetSupported API, чтобы проверить, поддерживается ли набор требований «Почтовый ящик» 1.4 клиентом Outlook (это набор требований Outlook, содержащий API displayDialog).Это проверяет, что все необходимое для запуска API доступно.

Если ваша надстройка требует API, вы можете избежать добавления условных выражений в надстройку, обновив минимальный набор требований, поддерживаемый в манифест надстройки .Это означает, что надстройка не будет доступна в клиентах Outlook, которые не поддерживают этот набор требований.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...