使用本方法集成时,编辑所需的参数将通过毕升office系统的服务端与业务系统服务端直接的交互来传递相关参数。该方法的有点在于数据传递相对安全,并且传递的数量也可以较多(不受URL长度的限制),缺点是集成将为复杂。请用户根据自己的情况选择恰当的方式
该方法的基本过程是,在预览/编辑文档的地址中使用callURL来传递一个可以请求相关参数的地址(需base64编码),
然后毕升系统的服务端会对callURL参数值进行解码处理,并且使用该地址发送一个http Get请求,相关服务端在收到该请求后,将处理文档的参数进行base64编码,然后返回到毕升系统服务端。在毕升服务端收到该数据后,完成相应的处理。
例如:如果参数编码值为XXX,则调用毕升系统预览该文件和编辑该文件的地址如下:
例如:在我们提供的demo示例中,该callURL对应的原始地址为http://demohost/api/fileAcl/bishengoffice/admin ,
aHR0cDovL2RlbW9ob3N0L2FwaS9maWxlQWNsL2Jpc2hlbmdvZmZpY2UvYWRtaW4=
http://bisheng_host/apps/editor/openEditor?callURL=aHR0cDovL2RlbW9ob3N0L2FwaS9maWxlQWNsL2Jpc2hlbmdvZmZpY2UvYWRtaW4=
{"code": "decode data error"}
data/callurl base64解码错误。
{"code": "request callURL error", "callURL": callURL,"error":""}
该错误表示Office服务器在请求集成方获取文件预览/编辑数据时发生错误。错误提示中的callurl为服务器请求发送错误的是地址。error为错误详细信息。
在集成是,如果出现相关错误,首先将 callURL的值使用在线base64解码工具进行解码(https://tool.oschina.net/encrypt?type=3 )应该得到一个http地址。然后将该地址拷贝浏览器到地址栏中,查看浏览器中返回的内容,并检查该返回值是否为毕升系统所需的数据。
毕升office官方提供的demo是因该方式进行集成的。用户可以下载相关demo参考集成实现过程
nodejs 版本: https://gitee.com/ibisheng/demo
java 版本:https://gitee.com/ibisheng/demo_java