如何采用WOPI协议将Office整合到自己项目中

ONLYOFFICE Docs从6.4.0版本开始支持WOPI接口,允许与云应用集成。要启用WOPI,需在/etc/onlyoffice/documentserver/local.json配置文件中设置wopi.enable为true。配置IP过滤器以限制访问。WOPI定义了如CheckFileInfo、GetFile、PutFile等操作,用于文件存储和编辑器间的交互。通过PostMessage功能,可以自定义编辑器界面并与主机页面通信。ONLYOFFICE编辑器通过WOPI与SharePoint等集成,提供无缝协作体验。

WOPI(网络应用开放平台接口)是一个RESTful API协议,最早由微软发布。现在广泛用于整合在线办公套件和各种云应用程序。

在这篇文章中,我们来解释如何在ONLYOFFICE编辑器启用WOPI并将其集成到自己的项目。

如何在ONLYOFFICE Docs启用WOPI

此前,只有通过自身的API,才能将ONLYOFFICE Docs集成到 sync&share解决方案、DMS、CMS和其他云平台。从6.4.0版本开始,该套件也支持WOPI。

在ONLYOFFICE Docs中,WOPI默认情况下是非激活的。要启用WOPI,请在以下路径找到(或创建)文档服务器的配置文件: /etc/onlyoffice/documentserver/local.json,并设置wopi.enable参数为true

{
  "wopi": {
    "enable": true
    }
}

ONLYOFFICE Docs只能处理从受信任的集成商那里收到的WOPI请求。WOPI域允许列表必须包括这种集成商的IP地址。在这一点上,必须拒绝所有其他集成商的访问。默认情况下,所有的IP地址都算是受信任的,所以您需要配置文档服务器IP过滤器。

用任何文本编辑器打开/etc/onlyoffice/documentserver/local.json文件,来改变默认设置:

"ipfilter": {
    "rules": [
    {
        "address": "ip_address",
        "allowed": true
    },
    {
        "address": "*",
        "allowed": false
    }
    ],
    "useforrequest": true,
    "errorcode": 403
}

输入您的ip_address,可以包含:

  • 适用于ipv4,X.X.X.X格式的IP,
  • 适用于ipv6,xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx 格式的IP,
  • dns名称, 
  • *通配符,以取代任何符号

改变allowed参数,可以是truefalse。然后,重新启动服务以使配置的改变生效:

supervisorctl restart all

WOPI操作基础知识

WOPI定义一组方法和操作,允许在文档存储和在线编辑器之间进行交互。WOPI规范遵循一定的术语。

  • WOPI服务器(host):实现REST API的文件管理系统。
  • WOPI客户端(client): 在线编辑器,在本文中我们以ONLYOFFICE Docs为例。
  • WOPI发现 (dicovery):http(s)://<online-editor-address>/hosting/discovery

Node.js测试应用程序页面上有一个初始化编辑器的discovery数据请求的例子。discovery请求的响应以XML格式返回,并包含关于ONLYOFFICE编辑器、支持的格式和操作(例如,查看、编辑、编辑新内容等)的信息。

ONLYOFFICE Docs的discovery回应实例:

<wopi-discovery>
 <net-zone name="external-http">
  <app name="Word" favIconUrl="https://<editor_address>/webapps/apps/documenteditor/main/resources/img/favicon.ico">
  <action name="edit" ext="docx" default="true" requires="locks,update" urlsrc="/https://<editor_address>/hosting/wopi?documentType=word&mode=edit&<rs=DC_LLCC&><dchat=DISABLE_CHAT&><e=EMBEDDED&><fs=FULLSCREEN&><hid=HOST_SESSION_ID&><rec=RECORDING&><sc=SESSION_CONTEXT&><thm=THEME_ID&><ui=UI_LLCC&><wopisrc=WOPI_SOURCE&>&"/>
  <action name="view" ext="docx" urlsrc="/https://<editor_address/hosting/wopi?documentType=word&mode=view&<rs=DC_LLCC&><dchat=DISABLE_CHAT&><e=EMBEDDED&><fs=FULLSCREEN&><hid=HOST_SESSION_ID&><rec=RECORDING&><sc=SESSION_CONTEXT&><thm=THEME_ID&><ui=UI_LLCC&><wopisrc=WOPI_SOURCE&>&a
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值