金山文档(苍穹-WPS)集成使用手册
金山文档采用Oauth2.0认证方式进行账号的授权。
一、申请开发者账号
进入WPS开放平台(https://open.wps.cn/),申请开发者账号及应用。申请完成如下:
进入应用查看相关信息:
二、新增连接配置
在集成服用云中,新增连接配置,选择金山文档,将之前申请的应用的APPID和APPKEY填写到配置界面中,如下图所示:
保存后点击认证,弹出金山文档认证界面,扫码成功后自动填充refresh_token参数, refresh_token自动填充后再保存。
注意:WPS账号必须实名认证。在微信扫码登录后,未实名用户在微信端会弹出实名认证提醒消息!
三、关联数据源
关联数据源,在数据源管理列表中,打开预置_金山文档,编码为KD_WPS,并按图所示配置系统连接。
四、预置系统API登记及测试
1、获取文件列表
编码:wps_get_file_list
需要授权:否记录日志:否备注:接口详情请参考文档:/tolink?target=https%3A%2F%2Fopen.wps.cn%2Fdocs%2Fpersonal-doc%2Fapi-infoURL:/kapi/v2/iscb/route/ex_wps_get_file_list调用方法:POST
API介绍
根据open_parentid( 文件夹所在父目录id)查找该目录下的所有文件。
请求头部:
序号 | Key | Value |
1 | Content-Type | application/json; charset=UTF-8 |
2 | access_token | token的值 |
获取token详见:https://dev.kingdee.com/index/docsNew/6668c5c0-b547-4f55-8f74-cc6ea2f5c65c
输入:
序号 | 字段名 | 数据类型 | 数组 | 必填 | 字段描述 | 默认值 |
1 | open_parentid | 字符串 | 否 | 是 | 文件夹所在父目录,默认为"0"(应用根目录) | 0 |
2 | order | 字符串 | 否 | 否 | 排序规则, 可选值: ASC:顺 序排列 DESC:倒序排列 默认 为DESC | DESC |
3 | order_by | 字符串 | 否 | 否 | 排序依据内容,可选值: fname:文件名 mtime:修改时 间 默认为mtime | mtime |
4 | offset | 整数 | 否 | 否 | 获取文件列表的偏移量 默认为 0 | 0 |
5 | count | 整数 | 否 | 否 | 获取文件数量 默认为30 | 30 |
输出:
序号 | 字段名 | 数据类型 | 数组 | 字段描述 |
1 | result | 整数 | 否 | 状态码,非0表示失败 |
2 | files | 结构 | 是 | 文件列表 |
3 | ├ file_type | 字符串 | 是 | 文件类型, linkfolder:分享文件夹, folder:文件夹, sharefile:分享文件 file:普通文件 |
4 | ├ file_name | 字符串 | 是 | 文件名 |
5 | ├ open_fileid | 字符串 | 是 | 文件open_fileid |
6 | ├ ctime | 整数 | 是 | 文件的创建时间,秒级时间戳 |
7 | ├ mtime | 整数 | 是 | 文件的最近修改时间,秒级时间戳 |
8 | └ file_size | 整数 | 是 | 文件大小,单位:字节(Byte) |
输入样例:
{ "open_parentid":"0" }
输出样例:
{ "data":{ "result":0, "files":[ { "file_name":"test.xlsx", "file_type":"sharefile", "open_fileid":"opIjekSZ7xLHSsZ07HuVxWAA", "ctime":1660030830, "mtime":1660030830, "file_size":3386 }, { "file_name":"test2.xlsx", "file_type":"sharefile", "open_fileid":"opyXwIKgH-fc7HPpAhF-5qpw", "ctime":1656402466, "mtime":1656494039, "file_size":11708 } ] }, "errorCode":"success", "success":true }
失败样例:
{ "success":false, "errorCode":"fail", "message":"错误堆栈详情" }
API测试结果:
2、获取文件下载链接
编码:wps_get_file_download_url
需要授权:否
记录日志:否
备注:接口详情请参考文档:/tolink?target=https%3A%2F%2Fopen.wps.cn%2Fdocs%2Fpersonal-doc%2Fapi-info
URL:/kapi/app/iscb/ex_get_file_download_url
调用方法:POST
API介绍
根据文件id获取其下载链接。
请求头部:
序号 | Key | Value |
1 | Content-Type | application/json; charset=UTF-8 |
2 | access_token | token的值 |
获取token详见:
https://dev.kingdee.com/index/docsNew/6668c5c0-b547-4f55-8f74-cc6ea2f5c65c
输入:
序号 | 字段名 | 数据类型 | 数组 | 必填 | 字段描述 | 默认值 |
1 | open_fileid | 字符串 | 否 | 是 | 文件id |
输出:
序号 | 字段名 | 数据类型 | 数组 | 字段描述 |
1 | result | 整数 | 否 | 状态码,非0表示失败,参照《状态码说明》 |
2 | url | 字符串 | 否 | 文件下载链接,有效期为10分钟 |
输入样例:
{ "open_fileid":"" }
输出样例:
{ "data":{ "result":0, "url":"" } "success":true, "errorCode":"success" }
失败样例:
{ "success":false, "errorCode":"fail", "message":"错误堆栈详情" }
API测试结果:
3、获取文件分享链接
编码:wps_get_file_link
需要授权:否
记录日志:否
备注:
URL:/kapi/app/iscb/ex_wps_get_file_link
调用方法:POST
API介绍
根据文件id获取其在线分享链接。
请求头部:
序号 | Key | Value |
1 | Content-Type | application/json; charset=UTF-8 |
2 | access_token | token的值 |
获取token详见:
https://dev.kingdee.com/index/docsNew/6668c5c0-b547-4f55-8f74-cc6ea2f5c65c
输入:
序号 | 字段名 | 数据类型 | 数组 | 必填 | 字段描述 | 默认值 |
1 | open_fileid | 字符串 | 否 | 是 | 文件id | |
2 | permission | 字符串 | 否 | 否 | 权限,可选值为: write:可编 辑 read:只读 默认为:read | read |
3 | period | 整数 | 否 | 否 | 有效时长(单位秒)仅支持以 下3种: 0:永久 / 604800:7天 / 2592000:30天 默认值:0 | 0 |
输出:
序号 | 字段名 | 数据类型 | 数组 | 字段描述 |
1 | result | 整数 | 否 | 状态码,非0表示失败 |
2 | link_url | 字符串 | 否 | 分享链接 |
3 | file_name | 字符串 | 否 | 文件名称 |
输入样例:
{ "open_fileid":"" }
输出样例:
{ "data":{ "result":0, "file_name":"", "link_url":"" } "success":true, "errorCode":"success" }
失败样例:
{ "success":false, "errorCode":"fail", "message":"错误堆栈详情" }
API测试结果:
五、服务流程设计
下面是文件上传相关API和脚本,上传文件分为三步:
1. 使用请求文件上传接口获取上传链接
2. 使用获取到的上传链接上传文件
3. 文件上传完之后调用上传文件提交接口提交文件
1、请求文件上传
编码:wps_file_upload_request
需要授权:否
记录日志:是
备注:接口详情请参考文档:/tolink?target=https%3A%2F%2Fopen.wps.cn%2Fdocs%2Fpersonal-doc%2Fapi-info
URL:/kapi/app/iscb/ex_wps_file_upload_request
调用方法:POST
API介绍
文件上传的第一步,通过此接口可以获取上传文件的链接等信息
请求头部:
序号 | Key | Value |
1 | Content-Type | application/json; charset=UTF-8 |
2 | access_token | token的值 |
获取token详见:
https://dev.kingdee.com/index/docsNew/6668c5c0-b547-4f55-8f74-cc6ea2f5c65c
输入:
序号 | 字段名 | 数据类型 | 数组 | 必填 | 字段描述 | 默认值 |
1 | open_parentid | 整数 | 否 | 是 | 文件夹所在父目录 | 0 |
2 | name | 字符串 | 否 | 是 | 文件名称 | test.xlsx |
3 | sha1 | 字符串 | 否 | 是 | 文件内容sha1 | 356a192b7913b04c54574d18c28d46e6395428ab |
4 | size | 整数 | 否 | 是 | 文件大小,单位:字节(Byte) | 1 |
输出:
序号 | 字段名 | 数据类型 | 数组 | 字段描述 |
1 | result | 整数 | 否 | 状态码,非0表示失败 |
2 | data | 结构 | 否 | 返回数据 |
3 | └ uploadinfo | 结构 | 否 | 上传文档信息 |
4 | ├ headers | 结构 | 否 | 上传文档时需要带的HTTP头 |
5 | └ put_auth | 结构 | 否 | 上传信息 |
6 | └ upload_url | 字符串 | 否 | 上传链接 |
输入样例:
{ "open_parentid":0, "size":0, "name":"", "sha1":"" }
输出样例:
{ "data":{ "result":0, "data":{ "uploadinfo":{ "headers":{}, "put_auth":{ "upload_url":"" } } } }, "success":true, "errorCode":"success" }
2、上传文件实体
API介绍
文件上传的第二步,上传文件实体
因该API特殊,可参考如下脚本写法,在流程中使用。接口详情请参考文档:
https://open.wps.cn/docs/personal-doc/api-info
3、提交上传新文件
编码:wps_commit_upload_file
需要授权:否
记录日志:否
备注:接口详情请参考文档:https://open.wps.cn/docs/personal-doc/api-info
URL:/kapi/app/iscb/ex_wps_commit_upload_file
调用方法:POST
API介绍
文件上传的第三步,文件实体上传后,通过此接口创建新文件
请求头部:
序号 | Key | Value |
1 | Content-Type | application/json; charset=UTF-8 |
2 | access_token | token的值 |
获取token详见:
https://dev.kingdee.com/index/docsNew/6668c5c0-b547-4f55-8f74-cc6ea2f5c65c
输入:
序号 | 字段名 | 数据类型 | 数组 | 必填 | 字段描述 | 默认值 |
1 | open_parentid | 字符串 | 否 | 是 | 文件夹所在父目录 | 0 |
2 | sha1 | 字符串 | 否 | 是 | 文件sha1值 | |
3 | name | 字符串 | 否 | 是 | 文件名称 | |
4 | add_name_index | 是/否 | 否 | 否 | 重名覆盖方式,可选值: false:重名覆盖 true:重名时添加数字后缀 默认为false | false |
5 | etag | 字符串 | 否 | 是 | 上传etag值 | |
6 | size | 整数 | 否 | 是 | 文件大小,单位:字节(Byte) | 1 |
输出:
序号 | 字段名 | 数据类型 | 数组 | 字段描述 |
1 | result | 整数 | 否 | 状态码 |
2 | data | 结构 | 否 | data |
3 | ├ open_fileid | 字符串 | 否 | 文件id |
4 | └ file_name | 字符串 | 否 | 文件名 |
输入样例:
{ "open_parentid":"", "size":0, "sha1":"", "name":"", "etag":"", "add_name_index":false }
输出样例:
{ "data":{ "result":0, "data":{ "file_name":"", "open_fileid":"" } }, "success":true, "errorCode":"success" }
4、服务流程示例
金山文件查询同步到苍穹(金山文档-苍穹)
编码:KDflow_File_Query(WPS-IERP)
说明:从金山文档查询Excel文件同步到苍穹集成云demo单据。
流程测试:先将test.xlsx上传至金山文档:/我的文档/应用/集成服务云目录下:https://www.kdocs.cn/?from=docs&show=all,如下图所示:
demo数据转化为在线文档(苍穹-金山文档)
编码:KDflow_Upload_File(IERP-WPS)
说明:将单据信息转化为二维数组,生成Excel文件上传到金山文档,并生成在线分享链接。
参考
集成服务云使用指南:https://club.kdcloud.com/article/45312
集成服务云新特性发布汇总:https://club.kdcloud.com/article/146134
集成云常见问题处理合集: https://vip.kingdee.com/article/45556
金山文档(苍穹-WPS)集成使用手册
本文2024-09-23 00:51:45发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142215.html