• API列表
  • 目录
    • 1. 用户会话的身份校验
      • FAQ: 那接入方如何向WebOffice传入token?
  • 2. 获取文件元数据
  • 3. 获取用户信息
  • 4. 通知此文件目前有那些人正在协作
  • 5. 上传文件新版本
  • 6. 获取特定版本的文件信息
  • 7. 文件重命名
  • 8.获取所有历史版本文件信息
  • 9. 新建文件

    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. }