Надстройка Outlook в версии ProPlus MSI 2016 (MSO 16.0.4549.1000) выдает ошибку Permission Denied для displayDialogAsync

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

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

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


person Madhukar    schedule 04.06.2019    source источник


Ответы (1)


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

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

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

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

person Outlook Add-ins Team - MSFT    schedule 05.06.2019
comment
Спасибо команде разработчиков надстроек MSFT для Outlook. В ссылке, которую вы предоставили для osfclient-x-none, было одно обновление, не связанное с безопасностью. После применения этого патча я могу подтвердить, что диалоговое окно работает в версии Office 2016 ProPlus MSI (MSO 16.0.4549.1000) для Windows. - person Madhukar; 05.06.2019