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

news/2024/11/17 23:58:46/

一、说明

        文档在这里: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.ppmy.cn/news/1547837.html

相关文章

【再谈设计模式】抽象工厂模式~对象创建的统筹者

一、引言 在软件开发的世界里,高效、灵活且易于维护的代码结构是每个开发者追求的目标。设计模式就像是建筑蓝图中的经典方案,为我们提供了应对各种常见问题的有效策略。其中,抽象工厂模式在对象创建方面扮演着重要的角色,它如同一…

Linux系统制作Java JAR程序为系统服务

在Linux系统中,将JAR程序制作成系统服务可以通过系统自带的systemd服务管理器来实现。systemd是现代Linux系统中广泛使用的初始化系统和服务管理器,它提供了强大的功能来管理系统的启动和服务。 以下是将JAR程序制作成systemd系统服务的步骤&#xff0c…

2024-11-16 特殊矩阵的压缩存储

一、数组的存储结构 1.一维数组:各元素大小相同,且物理上连续存放。a[i]起始地址i*siezof(数组元素大小) 2.二维数组:b[j][j]起始地址(i*Nj)*sizeof(数组元素大小) 二、特殊矩阵 1.普通矩阵的存储:使用…

酷炫的鼠标移入效果(附源码!!)

预览效果 源码(htmljs部分) <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>…

对称加密算法DES的实现

一、实验目的 1、了解对称密码体制基本原理 2、掌握编程语言实现对称加密、解密 二、实验原理 DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位&#xff0c;产生最大 64 位的分组大小。这是一个迭代的分组密码&#xff0c;使用称为 Feistel 的技术&#xff0c;其中将加密…

基于机器学习的虚拟传感器用于门开启检测和异常检测

论文标题&#xff1a;Virtual sensor for door opening detection and anomaly detection using machine learning&#xff08;基于机器学习的虚拟传感器用于门开启检测和异常检测&#xff09; 作者信息&#xff1a; Almir Neto&#xff0c;来自巴西马拉尼昂联邦教育、科学与…

前端传数组 数据库存Json : [1,2,3]格式

一、前端正常传数组&#xff0c;但是value.toString() 即可 const empIds ref([1,2,3]) empIds.value empIds.value.toString() await updateApiRules(empIds.value) // 接口传参 二、后端用String类型接收后转换 String[] empIds updateDO.getEmpId().split("&#x…

ssm113ssm框架的购物网站+vue(论文+源码)_kaic

毕 业 设 计&#xff08;论 文&#xff09; 题目&#xff1a;网上超市系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本网上超市系统就是在这…