0

我有一个 Rails 应用程序,我想对用户的在线文档进行 CRUD 操作,但我想在浏览器中呈现 MS Office(基于 OpenXML)文档。我听说过 WOPI/SharePoint。如何将它与我的网络应用程序集成?

4

2 回答 2

0

如果您只想查看公开可用的文档,您可以使用 office live viewer 或 google docs viewer。您基本上需要为这些服务提供文档的 URL。

我发现这个网站目前有在线观众的演示,你可以看看:https ://xtai-umd.github.io/docs-viewer-demo/

SharePoint 也有一个称为WopiFrame.aspx页面(或WopiFrame2.aspx)的东西,它允许您显示类似于上述网站的文档,但需要进行身份验证。请注意,这仅适用于存储在 SharePoint 中的文档(即在您使用它的特定 SharePoint 中WopiFrame.aspx)。

如果您正在开发 SPFx Web 部件,我认为这是要走的路。由于在这种情况下,两者都在 SharePoint 站点的上下文中运行,因此您实际上不需要过多考虑安全性,这一切都已得到解决。

我的意思是,实现您自己的 WOPI 服务器一点也不容易,除此之外,您还需要 Office Web Apps 服务器,或者安装在您的组织中,或者安装在 Microsoft 的在线服务器中。据我所知,为了能够使用微软的,你需要成为云存储计划的成员。

我不建议实施自定义 WOPI 服务器,除非出于某种原因确实需要它(在我的情况下,这是非常具体的安全要求)

于 2020-09-26T15:19:03.523 回答
0

你要找的确实叫WOPI。准确地说,您希望将Office Online Server(WOPI 客户端)与您的应用程序(WOPI 主机)集成。这也是 SharePoint 集成的工作方式(SharePoint 在此处扮演 WOPI 主机的角色)。

您需要实现以下流程:

我的流量

翻译到您的应用程序 - 您的 Rails 应用程序将生成指向 WOPI 客户端的 URL,并为其提供有关 MS Office 文件、身份验证信息等的信息。然后,WOPI 客户端将这些文件发送到您的 Rails 应用程序,这也需要实现由 MS-WOPI 协议定义的 REST 端点(主要是CheckFileInfoGetFilePutFile动作)。

于 2020-09-21T11:10:01.283 回答