Я нашел некоторые, но не все, части головоломки.
Используя Graph API, когда пользователь выбирает документ в моем собственном веб-приложении, я могу: -
- Создать новую временную папку в своей учетной записи OneDrive
- Загрузить файл my.docx в это местоположение
- Получить URL для my.docx
- Открыть URL-адрес в новомвкладка, загружающая редактор MSWord в Office 365 (или средство просмотра и редактор после еще одного щелчка мышью)
Здесь все становится немного сложнее.Как я могу вернуть отредактированный контент обратно в то место, где мое веб-приложение исторически хранило эти документы?
Теоретически я могу: -
- Создать webhook подписка на новую папку, которую я создаю
- Реализация службы прослушивания (и проверки) webhook
Когда слушатель получает уведомление об обновлении документа: -
Вызовите API загрузки (содержимого) или из метаданных driveItem, загрузите его с @ microsoft.graph.downloadUrl Сохраните его в моем нужном месте в моем веб-приложении
Для меня это звучит так, как будто оно будет страдать от больших задержек.Подписки на веб-крючки обычно отправляют пакеты изменений, и частота выглядит неопределенной.Это, конечно же, не подходит для создания версий каждой отдельной операции сохранения во время сеанса редактирования.
Я пропустил более очевидный путь к Word как службе?то есть другой API или смесь API?
Альтернативы, которые я рассмотрел, но еще не определил: внедрить WOPI или WebDav в моем собственном веб-приложении.