Сбой Office.context.ui.messageParent, когда диалоговое окно открывается через второй раз - PullRequest
0 голосов
/ 07 мая 2018

Контекст : у меня есть надстройка типа MailApp, в которой, когда в электронном письме есть вложение, отображается надстройка и при нажатии на нее происходит следующее.

  1. Экран приземления отображается с CTA, чтобы «начать».
  2. При ее нажатии я вызываю функцию displayDialogAsync следующим образом:

    function openDialog(url, callBack){ Office.context.ui.displayDialogAsync(url,{height: 768, width: 1024},function(asyncResult){ dialog = asyncResult.value; dialog.addEventHandler(Office.EventType.DialogMessageReceived, callBack.bind(dialog)); }) }

  3. Это открывает iframe внутри диалогового окна, которое запускает oauth-аутентификацию моего приложения, куда в моём приложении отправляется токен oauth вернуться к надстройке, позвонив Office.context.ui.messageParent(data)
  4. После получения данных в callBack я вызвал this.close () (привязываю диалог к ​​callBack).
  5. Это загрузит вложение на мой сервер и затем даст мне URL, чтобы начать процесс подписания, который снова открывается вызов той же функции openDialog, которую я упомянул в шаге 2.

Проблема : После открытия URL-адреса и завершения потока и вызова Office.context.ui.messageParent (data) не отправляет данные обратно в надстройку по какой-то странной причине (это происходит, когда диалоговое окно открыто> закрыто> открыто в том же сеансе).

Ссылка используется : https://docs.microsoft.com/en-us/office/dev/add-ins/develop/dialog-api-in-office-add-ins

Мин. Версия API : 1,5

Разрешение : ReadWriteMailbox.

Версия Outlook : 16.12 на Mac.

Манифест : https://pastebin.com/raw/rVzSZnMg

PS: Пожалуйста, используйте вышеуказанный манифест для проверки того же. И дайте мне знать, если мне нужно предоставить больше данных для того же, Microsoft отклонила мою сборку из-за этого. Я использую последнюю версию Outlook 2016 для Mac.

...