У меня есть приложение Rails. Я хочу выполнять CRUD-операции с документами пользователя в Интернете, но я хочу отображать документы MS Office (на основе OpenXML) в браузере. Я слышал о WOPI/SharePoint. Как я могу интегрировать его с моим веб-приложением?
Рендеринг/редактирование документов MS Office в браузере с помощью SharePoint или WOPI
Ответы (2)
То, что вы ищете, действительно называется WOPI. Чтобы быть точным, вы хотите интегрировать Office Online Server ( клиент WOPI) с вашим приложением (хост WOPI). Таким же образом работает и интеграция с SharePoint (SharePoint играет здесь роль хоста WOPI).
Вам необходимо реализовать следующий поток:
Переведено в ваше приложение — ваше приложение Rails будет генерировать URL-адреса, указывающие на клиент WOPI. и предоставление ему информации о файлах MS Office, информации об аутентификации и т. д. Затем клиент WOPI обращается к этим файлам в ваше приложение Rails, которое также должно будет реализовать конечные точки REST, определенные протоколом MS-WOPI (в основном CheckFileInfo
, GetFile
и PutFile
действия).
Если вы просто хотите обеспечить просмотр документов, которые находятся в открытом доступе, вы можете использовать средство просмотра Office Live Viewer или средство просмотра документов Google. В основном вам нужно предоставить URL-адрес вашего документа этим службам.
Я нашел этот сайт, на котором в настоящее время доступны демонстрации для онлайн-просмотрщиков, вы можете проверить это: https://xtai-umd.github.io/docs-viewer-demo/
В SharePoint также есть так называемая WopiFrame.aspx
страница (или WopiFrame2.aspx
), которая позволяет отображать документы, подобные приведенному выше сайту, но с аутентификацией. Обратите внимание, что это будет работать только для документов, которые хранятся в SharePoint (то есть в конкретном SharePoint, где вы используете этот WopiFrame.aspx
).
Если вы разрабатываете веб-часть SPFx, я думаю, это то, что вам нужно. Поскольку в этом случае оба выполняются в контексте сайта SharePoint, вам не нужно много думать о безопасности, обо всем позаботятся.
Я имею в виду, что внедрить собственный сервер WOPI совсем непросто, и в дополнение к этому вам понадобится сервер Office Web Apps, либо установленный локально в вашей организации, либо онлайн-сервер Microsoft. Насколько я знаю, чтобы иметь возможность использовать Microsoft, вам нужно быть участником программы Cloud Storage.
Я бы не рекомендовал внедрять собственный сервер WOPI, если он действительно не нужен по какой-либо причине (в моем случае это были довольно специфические требования безопасности).