Возможно ли «Слово как услуга» через MS Graph API? - PullRequest
0 голосов
/ 24 мая 2018

Я нашел некоторые, но не все, части головоломки.

Используя Graph API, когда пользователь выбирает документ в моем собственном веб-приложении, я могу: -

  1. Создать новую временную папку в своей учетной записи OneDrive
  2. Загрузить файл my.docx в это местоположение
  3. Получить URL для my.docx
  4. Открыть URL-адрес в новомвкладка, загружающая редактор MSWord в Office 365 (или средство просмотра и редактор после еще одного щелчка мышью)

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

Теоретически я могу: -

  1. Создать webhook подписка на новую папку, которую я создаю
  2. Реализация службы прослушивания (и проверки) webhook

Когда слушатель получает уведомление об обновлении документа: -

Вызовите API загрузки (содержимого) или из метаданных driveItem, загрузите его с @ microsoft.graph.downloadUrl Сохраните его в моем нужном месте в моем веб-приложении

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

Я пропустил более очевидный путь к Word как службе?то есть другой API или смесь API?

Альтернативы, которые я рассмотрел, но еще не определил: внедрить WOPI или WebDav в моем собственном веб-приложении.

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Похоже, вы используете OneDrive только для того, чтобы воспользоваться встроенной поддержкой протокола MS-WOPI .WOPI - это в основном улучшенный интерфейс WebDav, который используется Office для работы с удаленным документом (т. Е. Файлами, хранящимися в OneDrive, Box, DropBox и т. Д.).

Ваше решение, как правило, в порядке, и его достаточно легко организовать.Вы можете абсолютно использовать webhooks, чтобы подписаться на изменения в файле.Вы, вероятно, захотите, чтобы какой-то механизм в вашем приложении уведомлял вашу систему, когда они «закончили», чтобы вы могли впоследствии очистить файл.

Если вы хотите более надежное решение, вам нужно взглянуть на WOPI.Реализация WOPI позволит вам постоянно хранить эти файлы в вашей системе.Office Online будет использовать интерфейс WOPI, чтобы общаться с вашей системой хранения и открывать / сохранять / редактировать файлы на месте.

Имейте в виду, что реализация WOPI (или любого другого протокола на этот счет) часто является нетривиальной задачей.Вам также необходимо получить окончательное решение Office для проверки и внесения в белый список, прежде чем его можно будет использовать.Подробную информацию об этом процессе и о том, как запросить доступ, можно найти на веб-сайте Программа поставщика облачного хранилища Microsoft .

0 голосов
/ 24 мая 2018

Сегодня OneNote и Excel - это единственные офисные "клиенты документов", API которых доступны через REST API, общедоступные в Microsoft Graph.
Единственные другие "публичноДоступные опции, о которых я знаю:

...