400-158-0245

概述

网页与手机端开发

系统架构

网页端开发

手机端开发

常见问题

API接口文档

说明

用户接口

文件核心操作接口

文件管理接口

其它文件操作接口

审批接口

讨论接口

快捷方式/发布接口

消息/提醒接口

多媒体接口

 

文件核心操作接口

1、新建文件夹接口

URI: /app/file/add-folder

POST参数:

token: token参数

parentId: 要创建文件夹的父文件夹ID,数字

name: 要创建文件夹的名称,注意,文件夹不能包含字符:\  / : * ? \ ” < > |

remarks: 要创建文件夹的标签(也可称为备注)

2、浏览文件夹接口

该接口用于获取某个文件夹下的所有文件/文件夹列表

URI: /app/file/list-dir

POST参数:

token: token参数

parentId: 父文件夹ID,数字,如果获取根目录的文件夹/文件,该值为0

isFolder: (可选)是否仅显示文件夹,如果该值为空(或根本不提交该参数),显示所有文件与文件夹,否则只显示文件夹

3、上传文件接口

URI: /app/file/upload-file/[parentId]/[token]/mobile_sha256/-1/

该URI里有几个值需要替换:[parentId]是指要上传文件夹的id, [token]是指登录时获取的token,其它的是固定值

POST参数:

size: 文件大小

fileName: 文件名

desc: 版本描述(选填)

file: 上传文件对像的字段名称,即html里的<input type=’file’ name=’file’ />

一次只能上传一个文件

4、下载文件接口

URI: /app/file/download-file

POST参数:

token: token参数

fileId: 从文件列表中获取的fileId

5、更新文件接口

提示:更新接口要求更新文件的扩展名必须与原文件一致,否则无法更新

URI: /app/file/update-file/[fileId]/[token]/mobile_sha256/-1/

该URL里有几个值需要替换:[fileId]是指要更新的文件的id, [token]是指登录时获取的token,其它的是固定值

POST参数:

realSize: 文件的大小

desc: 版本描述(选填)

file: 上传文件对像的字段名称,即html里的<input type=’file’ name=’file’ />

6、重命名文件/文件夹名称接口

提示:对于文件只能重命名文件名称,不能重命名扩展名,下面提到的name字段是不包括扩展名的文件名称

URI: /app/file/rename-item

POST参数:

token: token参数

fileId: 要重命名的文件/文件夹的id

name: 新的名称

7、删除文件/文件夹接口

URI: /app/file/remove-file

POST参数:

token: token参数

fileIds: 要删除的文件/文件夹ID,可多填,每个id间用英文逗号隔开,如32,323,2334

提示:如果删除的是文件夹,则它下面的所有子文件及子文件夹全会被删除,如果删除文件较多(如几千个以上)则会有明显的等待时间

8、复制文件接口

URI: /app/file/copy-file

POST参数:

token: token参数

fileIds: 要复制的文件/文件夹ID,可多填,每个id间用英文逗号隔开,如32,323,2334,注意:文件或文件夹如果有多个,他们必须属于同一个父文件夹

newParentId: 要复制到的新的文件夹

提示:必须保证当前用户对要复制的文件有下载权限,同时对要复制到的目标文件夹有上传权限(及新建文件夹权限,如果有文件夹复制),才能成功复制,否则会给出错误提示

9、移动文件接口

URI: /app/file/move-file

POST参数:

token: token参数

fileIds: 要移动的文件/文件夹ID,可多填,每个id间用英文逗号隔开,如32,323,2334,注意:文件或文件夹如果有多个,他们必须属于同一个父文件夹

newParentId: 要移动到的新的文件夹

提示:必须保证当前用户对要移动的文件有下载与删除权限,同时对要复制到的目标文件夹有上传权限(及新建文件夹权限,如果有文件夹移动),才能成功移动,否则会给出错误提示

10、获取文件版本列表

URI: /app/file/version-list

POST参数:

token: token参数

fileId: 文件ID

返回结果示例:

{
    "code": 0,
    "data": [
        {
            "desc": "",
            "editor": 1,
            "hash": "b3be118f41797fb6e22de2925ac6c29c9501c6633f37130e465d35d286e2a459",
            "id": 1,
            "name": "admin",
            "realname": "系统管理员",
            "size": 20167,
            "time": 1541357094,
            "userStatus": "0"
        },
        {
            "desc": "",
            "editor": 1,
            "hash": "ab50769fa38635ec3f5871f183fc0532dc0c48ab149c8438400ce0163ef40f33",
            "id": 2,
            "name": "admin",
            "realname": "系统管理员",
            "size": 21016,
            "time": 1565850373,
            "userStatus": "0"
        },
        {
            "desc": "",
            "editor": 1,
            "hash": "3f0871a2a180a4923574be2cd8130e26bb82559cb3eb63b5e80e9d2f9dccc006",
            "id": 3,
            "name": "admin",
            "realname": "系统管理员",
            "size": 22665,
            "time": 1591594897,
            "userStatus": "0"
        }
    ]
}

json.data的每一项中,id表示版本号,userStatus表示该版本编辑者的状态:0正常,2离职,3用户已删除

11、下载历史版本

URI: /app/file/version-download

POST参数:

token: token参数

fileId: 文件ID

id: 文件的版本号

12、预览文件

只有部分文件可以预览,详见管理后台的参数设置页面

URL: http://domain/preview/?file=xxxx

本接口采用GET方式调用,直接访问URL即可

以上URL中,domain表示云盘首页的地址,如http://192.168.1.100:188,注意这里的端口是Apache服务的端口

xxxx是一个字符串,构造方式分为两步:

第一、原始字符串,有两种形式:rand-token-fileId (预览当前版本的文件) 或者 rand-token-fileId-vid (预览文件的历史版本)

其中:rand是随机数,请随机产生一个数字即可;token是登录时获取的token参数;fileId是文件的ID,vid是文件的版本号

第二、将以上原始字符串进行base64编码

例如:原始字符串为:43492348-caf5c50b40d6825c3493ccce329feb8eef08a0c43e513c8135e1168e9a71e601186a13-40739,其最终的URL是:

http://192.168.1.100:188/preview?file=NDM0OTIzNDgtY2FmNWM1MGI0MGQ2ODI1YzM0OTNjY2NlMzI5ZmViOGVlZjA4YTBjNDNlNTEzYzgxMzVlMTE2OGU5YTcxZTYwMTE4NmExMy00MDczOQ==

13、多人协作编辑

只有word、excel、ppt文件可以多人协作编辑

URL: http://domain/onlineedit/?file=xxxx

本接口采用GET方式调用,直接访问URL即可

以上URL中,domain表示云盘首页地址:如http://192.168.1.100:188,注意这里的端口是Apache服务的端口

xxxx是一个字符串,构造方式分为两步:

第一、原始字符串:token-fileId,其中,token是登录时获取的token参数;fileId是文件的ID

第二将以上原始字符串进行base64编码

例如:原始字符串为:caf5c50b40d6825c3493ccce329feb8eef08a0c43e513c8135e1168e9a71e601186a13-40739,最终URL是:

http://192.168.1.100:188/onlineedit/?file=Y2FmNWM1MGI0MGQ2ODI1YzM0OTNjY2NlMzI5ZmViOGVlZjA4YTBjNDNlNTEzYzgxMzVlMTE2OGU5YTcxZTYwMTE4NmExMy00MDczOQ==

14、全文搜索

URI: /app/file/fullsearch

POST参数:

token: token参数

word: 搜索的关键词

searchType: 搜索类型,0表示只搜索标题,1表示只搜索正文,2表示既搜索标题也搜索正文

userId: 用户ID, 限定只在特定用户上传的文件中搜索,可选

fileId: 文件夹ID,限定只搜索特定文件夹(包括它的子文件夹),可选

timeType: 只搜索特定时间段上传或编辑的文件,可选

其值为0,表示不限定时间;1表示限定过去24小时;2表示限定过去7天;3表示限定过去1个月;4表示限定过去一年;5表示自定义限定时间,需要用到另两个参数startTime与endTime

startTime: 搜索文件的时间范围,开始时间,unix时间戳,可选,仅在timeType=5时起作用,必须与endTime配对使用

endTime: 搜索文件的时间范围,结束时间,unix时间戳,可选,仅在timeType=5时起作用,必须与startTime配对使用

fileExtend: 搜索文件的扩展名,多个扩展名可用空格隔开,留空则不限制扩展名

返回JSON:

json.files字段是一个列表,包含所有的搜索结果,这个列表中的每一项的部分字段如下:

fileId: 文件ID

filename: 文件名称(搜索词会用html语法标红)

abstract:全文摘要(搜索词会用html语法标红)

filetype: 文件类型,1为文件夹,2为文件

size: 文件大小

edittime: 最后编辑时间