基于永中WebOffice的文档在线编辑能力,用户使用云编辑服务可在网页上直接编辑文档、实时保存修改内容,并且可以根据文件版本id恢复至任意历史版本。
首先要先成为开发者并且申请应用。在永中云服务平台首页(https://open.yozocloud.cn)点击”申请加入“填写信息,然后提交就好了。之后点击页面右上角的”管理中心“,点击”申请添加新应用“按钮申请应用,然后就获得了下图的appId和appKey。

然后阅读云编辑开发文档。官网的开发文档里有编辑时要用到的所有接口,也给出了返回示例供参考,还有在使用过程中的遇到的常见问题也是做了总结。

下面就是具体的接入步骤:
第一步:导入jar包生成签名。官网专门提供了几种流行编程语言的SDK,根据自己的开发语言下载对应的SDK及demo生成签名。这里使用的是JAVA SDK。
SDK下载地址:https://cms.yozocloud.cn/info/file/getResource/81
DEMO下载地址:https://cms.yozocloud.cn/info/file/getResource/82

String getSign(Map<String,String[]> map) throws Exception {
   map.put("appId",new String[]{APPID});
   AppAuthenticator authenticator=new UaaAppAuthenticator(UaaConstant.SIGN,null,UaaConstant.APPID);
   String sign = authenticator.generateSign(APPKEY, map);
   System.out.println("sign = " + sign);
   return sign;
}

第二步:上传文件。这里我使用http上传接口</api/file/http>。

HttpPost post = new HttpPost("http://dmc.yozocloud.cn/api/file/http");
//创建参数集合
List<BasicNameValuePair> list = new ArrayList<BasicNameValuePair>();
//添加参数
list.add(new BasicNameValuePair("sign",sign));
list.add(new BasicNameValuePair("appId", APPID));
list.add(new BasicNameValuePair("fileUrl",fileUrl));
//把参数放入请求对象,,post发送的参数list,指定格式
post.setEntity(new UrlEncodedFormEntity(list, "UTF-8"));
//添加请求头参数
CloseableHttpClient client = HttpClients.createDefault();
//启动执行请求,并获得返回值
CloseableHttpResponse response = client.execute(post);
//得到返回的entity对象
HttpEntity entity = response.getEntity();
//把实体对象转换为string
String result = EntityUtils.toString(entity, "UTF-8");
//返回内容
System.out.println("返回信息为:" + result);

第三步:获取编辑地址。每次调用接口时,用到了哪些参数就将这些参数去生成sign,multipartFile除外,用不到的参数也不要传null或者空字符串。

JSONObject data = JSONObject.parseObject(result).getJSONObject("data");
String fileVersionId = data.getString("fileVersionId");//获取返回的fileVersionId
Map<String, String[]> paramMap = new HashMap<>();
paramMap.put("fileVersionId", new String[]{fileVersionId});
String s = getSign(paramMap);//生成签名
System.out.println("拼接地址:" + VIEWFILE + "?appId=" + APPID + "&fileVersionId=" + fileVersionId + "&sign=" + s );//输出拼接地址

最后,运行程序就可以得到编辑地址。

下面是源文档和使用云编辑编辑文档的对比:
源文档:

云编辑:

注意:
1.用户须在云编辑的开发信息中填写正确的数据回调地址来接收新的文件版本id,并且在数据回调URL下新增一个POST接口,接口名称设置为:/3rd/edit/callBack,接口接收转换回调数据代码示例如下:

2.云编辑是实时保存的,在关闭编辑页面或者编辑页面30分钟没有任何操作都是会触发回调的;
3.云编辑不支持多人协作,如果在编辑的同时可以查看文档可以使用参数“autoReader=true”来控制只读,但查看的文档是编辑之前的文档并不能看到实时编辑的内容;
4.在访问编辑页面的时候直接访问拼接地址就可以,访问重定向链接的话会提示“加入编辑失败,您无权限编辑此文档或会话已失效”。


小助手
1 声望0 粉丝