onlyoffice Command service(命令服务)使用示例

一、说明

        文档在这里:https://api.onlyoffice.com/docs/docs-api/additional-api/command-service/
        命令服务提供有几个简单的接口封装。也提供了前端和后端同时操作文档的可能

二、正文

        命令服务地址:https://documentserver/coauthoring/CommandService.ashx

        其中,https://documentserver是你自己部署的onlyoffice地址,比如我的服务是:http://47.94.91.67:10100,按照上面的拼写,最终得到结果:

http://47.94.91.67:10100/coauthoring/CommandService.ashx

        参数采用post-json传递。

三、示例

这里举一个forcesave例子:

        1、比如:Command service -> forcesave

                强制保存这个服务,可以在前端打开文档的同时,通过后端直接触发保存操作,并且双向不影响;

        2、此时前端文档的key为:config.document.key = 'aaa'

        3、并且此时前端同时应该设置autosave为:config.editorConfig.customization.autosave = true

        4、使用post-json方式调用命令服务,地址为:http://47.94.91.67:10100/coauthoring/CommandService.ashx,参数为:

               {
                        "c": "forcesave",
                          "key": "aaa",
                          "userdata": "sample userdata"
                }

        5、请检查【4】中的【key】与【2】中的【key】,必须一致

四、常见问题&错误提示

0No errors.
1Document key is missing or no document with such key could be found.
2Callback url not correct.
3Internal server error.
4No changes were applied to the document before the forcesave command was received.
5Command not correct.
6Invalid token.

这里重点讲一下 error = 1 的报错:Document key is missing or no document with such key could be found.

在样例中使用到了参数传递:key: aaa

{
         "c": "forcesave",
          "key": "aaa",
           "userdata": "sample userdata"
}

        这里的key必须是已经在onlyoffice服务中打开/存储过的key,也就是必须使用config.document.key = 'aaa'来打开过文档,这个key到底是什么,请再仔细阅读下配置文档说明。

        如果服务没有打开/存储过该key,就会报error=1。

        引申:

                only在docker部署下,如果容器重新部署,key会丢失。

                实际业务如果采用动态key,那么需要设计好规则或者关联,保证前/后端的key相同。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值