毕升Office 商业版API说明

准备

毕升Office提供毕升Office的商业版,购买方式联系毕升Office官方QQ:420819940

待管理员给你部署的毕升Office升级之后,你需要重新离线激活之后,然后重启毕升Office才能进行自定义logo的操作。其中离线激活参考链接:手动离线激活 ;重启毕升Office方式是进入到毕升Office安装脚本目录下,执行 restart.sh脚本即可。

1
bash restart.sh

重启完成之后,进入到 /apps/console中检查你的许可是否已经升级成功:

image-20190515180946285

商业版和免费版的一个很大的区别是API更加的丰富。主要的API有四类API:1.文件重命名;2.文件删除;3.文件主动回存;4.文件预处理这四个API主要用于集成方主动调用,通知毕升Office进行相应处理。接下来将分别介绍这几个API以及调用参数。

文件重命名

该API是双向的,即:1. 集成方调用。当业务系统的中文名发生了变化时,主动调用通知毕升Office服务器进行相应的处理。如果此时该文件处于编辑状态,毕升Office服务器则会通知所有的编辑端进行相应的处理;2. 毕升Office编辑器端对文件名进行了更改,通过回调的方式通过业务系统进行相应的处理。

集成方调用重命名API

这种方式下 API的URL为:http://ip/apps/editor/rename/:docId?hashId=xxx;其中 :docId 为被重命名文件的ID。URL中的参数 hashId值为 docId的md5哈希值。该请求为 post请求,其中body的内容格式如下

1
2
3
4
5
6
{
"newName":"",
"from":{
"uid":""
}
}

其中: newName 为该文件的新名称(需要保持文件后缀名);from参数表明该操作是有哪个用户发起的,其中uid为该用户的ID(下面的api, from 表示的意义相同)

毕升Office服务器在收到请求之后作出相应的处理,如果该文件在编辑会通知编辑端进行相应的处理。处理完成之后,毕升Office服务器会返回相应的结果,返回结果内容如下:

1
2
3
{
"status": false/true,
}

Status 表明这次处理是否完成,处理正常则返回true,否则返回false

下图为毕升Office服务器收到重命名请求之后作出处理的效果。

image-20190515170035296

毕升Office文件重命名回调通知集成方

毕升office的编辑器中也对文件进行重命名。重命名之后,会通过回调方式通知业务系统进行相应的处理。其中回调的地址和回调回存的地址相同,即在/bisheng_data/workspace/config/config.yml配置的postapiurl 所指向的地址。

image-20190515170948467

需要注意的是:postapiurl中的地址是一个post请求。在实现请注意

该post请求的body内容如下格式:

1
2
3
4
5
6
7
{
"docId":"",
"action":"",
"data":{

}
}

其中docId是当前文档的ID,action是当前回调的是什么类型。例如文件重命名回调时action的值为:rename。data值和action的值相关。重命名时data的数据格式如下:

1
2
3
4
5
6
{
"newName": name,
"from": {
uid:""
},
}

newName 为该文件重命名后的新名称,from和上文中意义相同,表明该操作是有哪个用户发起的,其中uid为该用户的ID。业务系统收到请求之后进行相应的处理,需要返回处理的结果,结果数据如下:、

1
2
3
{
"status": false/true,
}

Status 表明这次处理是否完成,处理正常则返回true,否则返回false

文件删除

该API主要是在业务系统删除了文件时,通知毕升Office,如果该文件在编辑状态,则应该关闭编辑。

API的URL为:http://ip/apps/editor/deleteFile/:docId?hashId=xxx;其中 :docId 为被重命名文件的ID。URL中的参数 hashId值为 docId的md5哈希值。该请求为 post请求,其中body为空

毕升Office服务器在收到请求之后作出相应的处理,返回结果内容如下:

1
2
3
{
"status": false/true,
}

Status 表明这次处理是否完成,处理正常则返回true,否则返回false

文件主动回存

该API主要是由业务系统主动要求毕升Office将编辑完的文件回存到业务系统。毕升Office在所有的编辑参与者退出编辑之后5分钟(可以配置)之后,会主动将该文件更新后的结果重新以Office文件的格式回存到业务系统。但是在一些情况下,业务系统要求立刻回存,则此时可以调用这个API。

API的URL为:http://ip/apps/editor/saveBack/:docId?hashId=xxx;其中 :docId 为被重命名文件的ID。URL中的参数 hashId值为 docId的md5哈希值。该请求为 post请求,其中body为空

毕升Office服务器在收到请求之后作出相应的处理,返回结果内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"status": false/true,
"version":{
"docId":"",
"docURL":"",
"modifyBy":[{
"uid":"",
"oid":"",
"avatar":"",
"nickName":""
}],
unchanged: true/false,
"pngUrl":""
"txtUrl":""
},
"reason":""
}

Status 表明这次处理是否完成,处理正常则返回true,否则返回false。

其中当stauts为true时,version内容不为空,version表示此次主动要求回存得到的新内容。version 各部分key的意义时: docId 是当前回存文档的ID,docURL是修改完最新的文件的下载地址,unchanged 是标示这个文件有没有被修改;pngUrl这个文件最新的缩略图;txUrl 这个文件最新提取的文本; modifyBy:这个文件在这次编辑过程中被哪些人修改过。

当status为false时,reason会返回本次主动要求回存失败的原因。主要值有两类:1.failed,此时由于某些原因生成新的文件失败。2. locked,该文件还有人在编辑,因此放弃生成新文件。

文件预处理

预处理API主要的应用场景是:当业务系统中新产生Office文件时,可以调用该API,该API将返回Office文件的缩略图,提取该文件中的文本内容

API的URL为:http://ip/apps/editor/preConvert?hashId=xxx;其中 :docId 为被重命名文件的ID。URL中的参数 hashId值为 docId的md5哈希值。该请求为 post请求,其中body内容格式如下:

1
2
3
4
5
6
{
docId: "",
title: "",
mime_type: "",
fetchUrl: "",
}

docId: 文档的ID,不同的文档通过docId 来区分。

title: 文件的标题,用于编辑时在编辑器上显示当前文件的标题,需包含加上文件扩展名

mime_type:文件的类型。毕升支持的各类文件类型参考链接:毕升Office支持文件类型的mime_type

fetchUrl: 该文件的获取链接。当毕升Office打开该文件时,会通过这个链接去获取文件。该链接不要进行编码

毕升Office服务器在收到请求之后会对传入的文档进行预处理,生成文件的缩略图以及提取文字内容;

1
2
3
4
5
{
"status": false/true,
"png": "",
"text": ""
}

status 表明这次处理是否完成,处理正常则返回true,否则返回false。为true时,png,text分别是该文件的缩略图以及提取的文字内容

欢迎登陆毕升文档了解更多详细信息