我有一个 Rails 应用程序,我想对用户的在线文档进行 CRUD 操作,但我想在浏览器中呈现 MS Office(基于 OpenXML)文档。我听说过 WOPI/SharePoint。如何将它与我的网络应用程序集成?
2 回答
如果您只想查看公开可用的文档,您可以使用 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 服务器,除非出于某种原因确实需要它(在我的情况下,这是非常具体的安全要求)
你要找的确实叫WOPI。准确地说,您希望将Office Online Server(WOPI 客户端)与您的应用程序(WOPI 主机)集成。这也是 SharePoint 集成的工作方式(SharePoint 在此处扮演 WOPI 主机的角色)。
您需要实现以下流程:
翻译到您的应用程序 - 您的 Rails 应用程序将生成指向 WOPI 客户端的 URL,并为其提供有关 MS Office 文件、身份验证信息等的信息。然后,WOPI 客户端将这些文件发送到您的 Rails 应用程序,这也需要实现由 MS-WOPI 协议定义的 REST 端点(主要是CheckFileInfo
、GetFile
和PutFile
动作)。