API列表

目录

1. 用户会话的身份校验

token是用来校验用户身份的凭证,它是用来限制文档只能由有权限的用户访问,以提高文档安全性。接入方可以取到头部参数x-wps-weboffice-token来做接口鉴权。

  1. x-wps-weboffice-token: your token
FAQ: 那接入方如何向WebOffice传入token?

方式一:可以通过jssdk的方式接入前端,通过jssdk的setToken接口设置token,具体细节可以看jssdk相关的接入文档。

url参数带上_w_tokentype=1(此参数同样需要签名) `javascript wps = WPS.config({ wpsUrl: &#39;your signature url&#39; // url参数带上</code>_w_tokentype=1 ,通过jssdk方式传入token })

// 首次设置token和后续刷新token都是通过调用此APIwps.setToken({token: 'your token'})

  1. **方式二:**
  2. 通过WebView注入`WPS_GetToken` 全局函数来传入tokenweboffice前端如果检测到有window.WPS_GetToken函数, 会直接调用该函数获取token,注意需要return回来一个Object对象`{token: "your token"}`
  3. ```javascript
  4. // 注入WPS_GetToken
  5. function WPS_GetToken(){
  6. return {token: "your token"}
  7. }

2. 获取文件元数据

描述:

获取文件元数据,包括当前文件信息和当前用户信息。其中,当user的permission参数返回“write”时,进入在线编辑模式,返回“read”时进入预览模式。

API地址:

/v1/3rd/file/info

调用方法:

GET

请求头(由weboffice开放平台写入):

Header描述
User-Agentwps-weboffice-openplatform用户代理
x-wps-weboffice-tokenxxxxxxx校验身份的token,值根据对接的企业而定
x-weboffice-file-idxxxxxxx文件id

请求参数:

参数名参数类型数据类型描述可选
_w_signaturequerystring请求签名
_w_appidquerystring应用id
(任意参数)query(任意类型)按照需求传入参数

示例:

http://www.xxx.cn/v1/3rd/file/info?_w_appid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&_w_param1=1000&_w_param2=example.doc&_w_signature=tBnhFqvVrC1LcJKye1m7GjzvqoA%3D

返回值:

status code为200表示获取数据成功,返回下面的信息。其余值表示失败,需要在返回中指定code,msg等信息。

正确返回响应信息示例:

(其中user_acl和watermark为非必须返回参数,user_acl用于控制用户权限,不返回则为系统默认值,watermark只用于预览时添加第三方水印)

  1. {
  2. file: {
  3. id: "132aa30a87064", //文件id,字符串长度小于40
  4. name : "example.doc", //文件名
  5. version: 1, //当前版本号,位数小于11
  6. size: 200, //文件大小,单位为kb
  7. creator: "id0", //创建者id,字符串长度小于40
  8. create_time: 1136185445, //创建时间,时间戳,单位为秒
  9. modifier: "id1000", //修改者id,字符串长度小于40
  10. modify_time: 1551409818, //修改时间,时间戳,单位为秒
  11. download_url: "http://www.xxx.cn/v1/file?fid=f132aa30a87064&#34;, //文档下载地址
  12. user_acl: {
  13. rename: 1, //重命名权限,1为打开该权限,0为关闭该权限,默认为0
  14. history: 1 //历史版本权限,1为打开该权限,0为关闭该权限,默认为1
  15. },
  16. watermark: {
  17. type: 1, //水印类型, 0为无水印; 1为文字水印
  18. value: "禁止传阅", //文字水印的文字,当type为1时此字段必选
  19. fillstyle: "rgba( 192, 192, 192, 0.6 )", //水印的透明度,非必选,有默认值
  20. font: "bold 20px Serif", //水印的字体,非必选,有默认值
  21. rotate: -0.7853982, //水印的旋转度,非必选,有默认值
  22. horizontal: 50, //水印水平间距,非必选,有默认值
  23. vertical: 100 //水印垂直间距,非必选,有默认值
  24. }
  25. },
  26. user: {
  27. id: "id1000", //用户id,长度小于40
  28. name: "wps-1000", //用户名称
  29. permission: "write", //用户操作权限,write:可编辑,read:预览
  30. avatar_url: "http://xxx.cn/id=1000&#34; //用户头像地址
  31. }
  32. }

3. 获取用户信息

描述:

批量获取当前正在编辑和编辑过文档的用户信息,以数组的形式返回响应。

API地址:

/v1/3rd/user/info

调用方法:

POST

请求头(由weboffice开放平台写入):

Header描述
User-Agentwps-weboffice-openplatform用户代理
x-wps-weboffice-tokenxxxxxxx校验身份的token,值根据对接的企业而定
x-weboffice-file-idxxxxxxx文件id

请求参数示例:

参数名参数类型数据类型描述可选
_w_signaturequerystring请求签名
_w_appidquerystring应用id
(任意参数)query(任意类型)按照需求传入参数
idsbodystring[]用户id数组

示例:

http://www.xxx.cn/v1/3rd/user/info?_w_appid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&_w_param1=1000&_w_param1=example.doc&_w_signature=tBnhFqvVrC1LcJKye1m7GjzvqoA%3D

POST请求示例:

  1. {
  2. ids:["id1000", "id2000"]
  3. }

返回值:

status code为200表示获取数据成功,返回下面的信息。其余值表示失败,需要在返回中指定code,msg等信息。

正确返回响应信息示例:

  1. {
  2. "users":[
  3. {
  4. id: "id1000", //用户ID,字符串长度小于40
  5. name: "wps-1000", //用户名
  6. avatar_url: "http://xxx.cn/?id=1000" //用户头像
  7. },
  8. {
  9. id: "id2000", //用户ID,字符串长度小于40
  10. name: "wps-2000", //用户名
  11. avatar_url: "http://xxx.cn/?id=2000" //用户头像
  12. }
  13. ]
  14. }

4. 通知此文件目前有那些人正在协作

描述:

当有用户加入或者退出协作的时候 ,上传当前文档协作者的用户信息,可以用作上下线通知。此接口可以根据需要实现,若不实现直接返回http响应码200。

API地址:

/v1/3rd/file/online

调用方法:

POST

请求头(由weboffice开放平台写入):

Header描述
User-Agentwps-weboffice-openplatform用户代理
x-wps-weboffice-tokenxxxxxxx校验身份的token,值根据对接的企业而定
x-weboffice-file-idxxxxxxx文件id

请求参数示例:

参数名参数类型数据类型描述可选
_w_signaturequerystring请求签名
_w_appidquerystring应用id
(任意参数)query(任意类型)按照需求传入参数
idsbodystring[]用户id数组

示例:

http://www.xxx.cn/v1/3rd/file/online?_w_appid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&_w_param1=1000&_w_param2=example.doc&_w_signature=tBnhFqvVrC1LcJKye1m7GjzvqoA%3D

POST请求示例:

  1. {
  2. ids:["id1000", "id2000"] //当前协作用户id
  3. }

返回值:

status code为200表示获取数据成功。其余值表示失败,需要在返回中指定code,msg等信息。

5. 上传文件新版本

描述:

当文档在线编辑并保存之后,上传该文档最新版本到对接模块,同时版本号进行相应的变更,需要对接方内部实现文件多版本管理机制。

API地址:

/v1/3rd/file/save

调用方法:

POST

请求头(由weboffice开放平台写入):

Header描述
User-Agentwps-weboffice-openplatform用户代理
x-wps-weboffice-tokenxxxxxxx校验身份的token,值根据对接的企业而定
x-weboffice-file-idxxxxxxx文件id

请求参数示例:

参数名参数类型数据类型描述可选
_w_signaturequerystring请求签名
_w_appidquerystring应用id
(任意参数)query(任意类型)按照需求传入参数
filebodyfile新版本的文件

示例:

http://www.xxx.cn/office/v1/3rd/file/save?_w_appid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&_w_userid=1000&_w_fname=example.doc&_w_signature=tBnhFqvVrC1LcJKye1m7GjzvqoA%3D

此处的_w_fname等等是对接模块处理的参数,可以对接模块自己定义,weboffice服务不会对此参数进行处理,http://www.xxx.cn 为企业对应的域名和nginx转发地址。

返回值:

status code为200表示获取数据成功,返回下面的信息。其余值表示失败,需要在返回中指定code,msg等信息。

响应信息示例:

  1. {
  2. file: {
  3. id: "f132aa30a87064", //文件id,字符串长度小于40
  4. name: "example.doc", //文件名
  5. version: 2, //当前版本号,位数小于11
  6. size: 200, //文件大小,单位时kb
  7. download_url: "http://www.xxx.cn/v1/file?fid=f132aa30a87064" //文件下载地址
  8. }
  9. }

6. 获取特定版本的文件信息

描述:

在历史版本预览和回滚历史版本的时候,获取特定版本文档的文件信息。

API地址:

/v1/3rd/file/version/:version

调用方法:

GET

请求头(由weboffice开放平台写入):

Header描述
User-Agentwps-weboffice-openplatform用户代理
x-wps-weboffice-tokenxxxxxxx校验身份的token,值根据对接的企业而定
x-weboffice-file-idxxxxxxx文件id

请求参数:

参数名参数类型数据类型描述可选
_w_signaturequerystring请求签名
_w_appidquerystring应用id
(任意参数)query(任意类型)按照需求传入参数

示例:

http://www.xxx.cn/v1/3rd/file/version/6?_w_appid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&_w_param1=1000&_w_param2=example.doc&_w_signature=tBnhFqvVrC1LcJKye1m7GjzvqoA%3D

返回值:

status code为200表示获取数据成功,返回下面的信息。其余值表示失败,需要在返回中指定code,msg等信息。

正确返回响应信息示例:

  1. {
  2. file: {
  3. id:”f132aa30a87064”, //文件id,字符串长度小于40
  4. name: "example.doc", //文件名
  5. version: 6, //当前版本号,位数小于11
  6. size: 200, //文件大小,单位为kb
  7. create_time: 1136185445, //创建时间,时间戳,单位为秒
  8. creator: "id0", //创建者id,字符串长度小于40
  9. modify_time: 1551409818, //修改时间,时间戳,单位为秒
  10. modifier: "id1000", //修改者id,字符串长度小于40
  11. download_url: "http://www.xxx.cn/v1/file?fid=f132aa30a87064&version=6" //文档下载地址
  12. }
  13. }

7. 文件重命名

描述:

用户在h5页面修改了文件名后,把新的文件名上传到服务端保存。

API地址:

/v1/3rd/file/rename

调用方法:

PUT

请求头(由weboffice开放平台写入):

Header描述
User-Agentwps-weboffice-openplatform用户代理
x-wps-weboffice-tokenxxxxxxx校验身份的token,值根据对接的企业而定
x-weboffice-file-idxxxxxxx文件id

请求参数:

参数名参数类型数据类型描述可选
_w_signaturequerystring请求签名
_w_appidquerystring应用id
(任意参数)query(任意类型)按照需求传入参数
namebodystring文件新名称

PUT请求示例:

  1. {
  2. "name": "rename.doc" //文件新名称
  3. }

示例:

http://www.xxx.cn/v1/3rd/file/rename?_w_appid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&_w_param1=1000&_w_param2=example.doc&_w_signature=tBnhFqvVrC1LcJKye1m7GjzvqoA%3D

返回值:

status code为200表示获取数据成功。其余值表示失败,需要在返回中指定code,msg等信息。

8.获取所有历史版本文件信息

描述:

获取当前文档所有历史版本的文件信息,以数组的形式,按版本号从大到小的顺序返回响应。

API地址:

/v1/3rd/file/history

调用方法:

POST

请求头(由weboffice开放平台写入):

Header描述
User-Agentwps-weboffice-openplatform用户代理
x-wps-weboffice-tokenxxxxxxx校验身份的token,值根据对接的企业而定
x-weboffice-file-idxxxxxxx文件id

请求参数:

参数名参数类型数据类型描述可选
_w_signaturequerystring请求签名
_w_appidquerystring应用id
idbodystring文件id
offsetbodyint记录偏移量
countbodyint记录总数
(任意参数)query(任意类型)按照需求传入参数

示例:

http://www.xxx.cn/v1/3rd/file/history?_w_appid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&_w_param1=1000&_w_param2=example.docx&_w_signature=tBnhFqvVrC1LcJKye1m7GjzvqoA%3D

POST请求示例:

  1. {
  2. id: "f132aa30a87064”,
  3. offset: 0,
  4. count: 3
  5. }

返回值:

status code为200表示获取数据成功,返回下面的信息。其余值表示失败,需要在返回中指定code,msg等信息。

正确返回响应信息示例:

  1. {
  2. histories: [
  3. {
  4. id: "f132aa30a87064", //文件id,字符串长度小于40
  5. name: "example.doc", //文件名
  6. version: 3, //版本号,位数小于11
  7. size: 200, //文件大小
  8. download_url: "http://www.xxx.cn/v1/file?fid=f132aa30a87064&version=3", //文档下载地址
  9. create_time: 1136185445, //创建时间,以时间戳表示,单位为秒
  10. modify_time: 1539847453, //修改时间,以时间戳表示,单位为秒
  11. creator: {
  12. id: "id0", //创建者id,字符串长度小于40
  13. name: "wps-0", //创建者名字
  14. avatar_url: "http://xxx.cn/?id=0" //创建者头像地址
  15. },
  16. modifier: {
  17. id: "id1000", //修改者id,字符串长度小于40
  18. name: "wps-1000", //修改者名字
  19. avatar_url: "http://xxx.cn/?id=1000" //修改者头像地址
  20. }
  21. },
  22. {
  23. id: "f132aa30a87064", //文件id,字符串长度小于40
  24. name: "example.doc", //文件名
  25. version: 2, //版本号,位数小于11
  26. size: 200, //文件大小
  27. download_url: "http://www.xxx.cn/v1/file?fid=f132aa30a87064&version=2",
  28. //文档下载地址
  29. create_time: 1136185445, //创建时间,以时间戳表示,单位为秒
  30. modify_time: 1539847453, //修改时间,以时间戳表示,单位为秒
  31. creator: {
  32. id: "id0", //创建者id,字符串长度小于40
  33. name: "wps-0", //创建者名字
  34. avatar_url: "http://xxx.cn/?id=0" //创建者头像地址
  35. },
  36. modifier: {
  37. id: "id1000", //修改者id,字符串长度小于40
  38. name: "wps-1000", //修改者名字
  39. avatar_url: "http://xxx.cn/?id=1000" //修改者头像地址
  40. }
  41. },
  42. {
  43. id: "f132aa30a87064", //文件id,字符串长度小于40
  44. name: "example.doc", //文件名
  45. version: 1, //版本号,位数小于11
  46. size: 200, //文件大小
  47. download_url: "http://www.xxx.cn/v1/file?fid=f132aa30a87064&version=1",
  48. //文档下载地址
  49. create_time: 1136185445, //创建时间,以时间戳表示,单位为秒
  50. modify_time: 1539847453, //修改时间,以时间戳表示,单位为秒
  51. creator: {
  52. id: "id0", //创建者id,字符串长度小于40
  53. name: "wps-0", //创建者名字
  54. avatar_url: "http://xxx.cn/?id=0" //创建者头像地址
  55. },
  56. modifier: {
  57. id: "id1000", //修改者id,字符串长度小于40
  58. name: "wps-1000", //修改者名字
  59. avatar_url: "http://xxx.cn/?id=1000" //修改者头像地址
  60. }
  61. }
  62. ]
  63. }

9. 新建文件

描述:

在模板页选择对应的模板后,将新创建的文件上传到对接模块,返回访问此文件的跳转url。

文字模板列表地址:

https://wwo.wps.cn/office/w/new/0?_w_appid=xxxxxxxxxxxxxxxxxxxxxxxxxxxappid&_w_signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&……(对接模块需要的自定义参数)

表格模板列表地址:

https://wwo.wps.cn/office/s/new/0?_w_appid=xxxxxxxxxxxxxxxxxxxxxxxxxxxappid&_w_signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&……(对接模块需要的自定义参数)

API地址:

/v1/3rd/file/new

调用方法:

POST

请求头(由weboffice开放平台写入):

Header描述
User-Agentwps-weboffice-openplatform用户代理
x-wps-weboffice-tokenxxxxxxx校验身份的token,值根据对接的企业而定
x-weboffice-file-idxxxxxxx文件id

请求参数示例:

参数名参数类型数据类型描述可选
_w_signaturequerystring请求签名
_w_appidquerystring应用id
(任意参数)query(任意类型)按照需求传入参数
filebodyfile新创建的文件
namebodystring新创建的文件名

示例:

http://www.xxx.cn/v1/3rd/file/new?_w_appid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&_w_signature=tBnhFqvVrC1LcJKye1m7GjzvqoA%3D

POST请求示例:

  1. Content-Disposition: form-data; name="file"; filename="/home/wps/dir/1.docx” //待上传文件对象
  2. Content-Disposition: form-data; name="name" 1.docx //新文件名称

返回值:

status code为200表示获取数据成功,返回下面的信息。其余值表示失败,需要在返回中指定code,msg等信息。

响应信息示例:

  1. {
  2. redirect_url: "http://wwo.wps.cn/office/w/<:fileid>?_w_fname=example.doc&_w_userid=1000&_w_appid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&_w_signature=878e966c8e729a2a28e699a3455a57f2",
  3. //根据此url,可以访问到对应创建的文档
  4. user_id: "id1000" //创建此文档的用户id
  5. }