Диалог вызова API открывает браузер при использовании Word внутри команд Microsoft

1

В Microsoft Team на Mac (возможно, также на других версиях) у вас есть возможность редактировать документ внутри команд. Это откроет экземпляр Word Online.

У нас есть веб-надстройка Office, которая использует API-интерфейс диалога для входа в нашу службу. Мы открываем это, вызывая Office.context.ui.displayDialogAsync(_UrlGoesHere_). Однако, когда внутри Команды, этот метод не откроет диалог, а использует поведение Word Online (как если бы вы были в браузере) и запускал совершенно новое окно браузера.

Это означает, что мы теряем связь между addIn и диалоговым окном входа, потому что окно браузера больше не является дочерним элементом панели задач надстройки веб-сайта, поэтому невозможно сделать обратные вызовы в addIn.

Это похоже на неправильное поведение в Word/web-надстройках? Или это должно быть сделано иначе, когда внутри Команды?

Спасибо!

  • 0
    Пожалуйста, посмотрите на Модуль задач в Microsoft Teams.
  • 0
    Проблема в том, что у нас нет интеграции команд (и мы не собираемся это делать в ближайшем будущем). У нас есть веб-надстройка в Word, которую Microsoft сделала доступной внутри команд. Но при использовании веб-надстройки в Word внутри команд, Dialog Api Office.js работает неправильно. Поэтому, скорее всего, это проблема Office.js, а не команд, поскольку Office.js ошибочно обнаруживает, что он был открыт из браузера.
Теги:
ms-word
office-js
microsoft-teams

1 ответ

1

Причина, по которой вы видите поведение Word Online, заключается в том, что вы используете Word Online. Когда вы редактируете документ в Microsoft Teams, вы просто используете Word Online в IFrame.

Имейте в виду, что собственный клиент Microsoft Teams по-прежнему эффективно представляет собой веб-приложение. Команды построены на Electron, который сам построен на Chromium и Node.js.

Вы можете попробовать использовать параметр displayInIframe API-интерфейса Dialog. Включение этой опции приведет к тому, что диалог будет отображаться в IFrame наложенном на редактор, а не на открытие нового окна браузера. Я не настроен, чтобы подтвердить, что это будет работать, когда Word Online встроен внутри и IFrame в Команды, но это, безусловно, стоит проверить:

displayDialogAsync('url', {displayInIframe: true}): void;
  • 1
    Марк прав, но @ Оскар-Константинер - ваша надстройка работает в Word Online?
  • 0
    Да, он отлично работает в Word Online (открывает окно и снова общается с надстройкой). Я попробую с displayInIFrame
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню