当前位置: 首页 > article >正文

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相同。


http://www.kler.cn/a/397416.html

相关文章:

  • C++创建型设计模式体现出的面向对象设计原则
  • Word_小问题解决_1
  • 图形 2.6 伽马校正
  • 【ict基础软件赛道】真题-50%openGauss
  • 以太坊系地址衍生算法分层确定性生成逻辑
  • JWTUtil工具类
  • 【HarmonyOS】鸿蒙应用低功耗蓝牙BLE的使用心得 (三)
  • 要卸载 Grafana 或者从 TiDB 集群中删除 Grafana 服务节点,你需要按以下步骤操作
  • leetcode 35. 搜索插入位置 简单
  • python re模块 详解
  • 在k8s上部署Crunchy Postgres for Kubernetes
  • 流程图图解@RequestBody @RequestPart @RequestParam @ModelAttribute
  • Django的RBAC认证和权限
  • Python + Memcached:分布式应用程序中的高效缓存
  • pytest中的断言:深入解析与实践
  • Net.Core Mvc 添加 log 日志
  • 1、PyTorch介绍与张量的创建
  • 迅睿CMS如何实现文章自动推送百度的便捷方法?
  • 怎样遵守编程规范,减少和控制C++编程中出现的bug?
  • uniapp适配暗黑模式配置plus.nativeUI.setUIStyle适配DarkMode配置
  • phonemizer 获取英文文本句子单词音素 - python实现
  • 智能工厂的设计软件 为了监管控一体化的全能Supervisor 的监督学习 之 序2 架构for认知系统 :机器学习及其行动门上的机器人
  • Gitcode文件历史记录查看和还原
  • 论文解析:基于区块链的去中心化服务选择,用于QoS感知的云制造(四区)
  • C/C++基础知识复习(19)
  • 【Docker容器】一、一文了解docker