网页与手机端开发
API接口文档
URI: /app/file/add-folder
POST参数:
token: token参数
parentId: 要创建文件夹的父文件夹ID,数字
name: 要创建文件夹的名称,注意,文件夹不能包含字符:\ / : * ? \ ” < > |
remarks: 要创建文件夹的标签(也可称为备注)
该接口用于获取某个文件夹下的所有文件/文件夹列表
URI: /app/file/list-dir
POST参数:
token: token参数
parentId: 父文件夹ID,数字,如果获取根目录的文件夹/文件,该值为0
isFolder: (可选)是否仅显示文件夹,如果该值为空(或根本不提交该参数),显示所有文件与文件夹,否则只显示文件夹
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’ />
一次只能上传一个文件
URI: /app/file/download-file
POST参数:
token: token参数
fileId: 从文件列表中获取的fileId
提示:更新接口要求更新文件的扩展名必须与原文件一致,否则无法更新
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’ />
提示:对于文件只能重命名文件名称,不能重命名扩展名,下面提到的name字段是不包括扩展名的文件名称
URI: /app/file/rename-item
POST参数:
token: token参数
fileId: 要重命名的文件/文件夹的id
name: 新的名称
URI: /app/file/remove-file
POST参数:
token: token参数
fileIds: 要删除的文件/文件夹ID,可多填,每个id间用英文逗号隔开,如32,323,2334
提示:如果删除的是文件夹,则它下面的所有子文件及子文件夹全会被删除,如果删除文件较多(如几千个以上)则会有明显的等待时间
URI: /app/file/copy-file
POST参数:
token: token参数
fileIds: 要复制的文件/文件夹ID,可多填,每个id间用英文逗号隔开,如32,323,2334,注意:文件或文件夹如果有多个,他们必须属于同一个父文件夹
newParentId: 要复制到的新的文件夹
提示:必须保证当前用户对要复制的文件有下载权限,同时对要复制到的目标文件夹有上传权限(及新建文件夹权限,如果有文件夹复制),才能成功复制,否则会给出错误提示
URI: /app/file/move-file
POST参数:
token: token参数
fileIds: 要移动的文件/文件夹ID,可多填,每个id间用英文逗号隔开,如32,323,2334,注意:文件或文件夹如果有多个,他们必须属于同一个父文件夹
newParentId: 要移动到的新的文件夹
提示:必须保证当前用户对要移动的文件有下载与删除权限,同时对要复制到的目标文件夹有上传权限(及新建文件夹权限,如果有文件夹移动),才能成功移动,否则会给出错误提示
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用户已删除
URI: /app/file/version-download
POST参数:
token: token参数
fileId: 文件ID
id: 文件的版本号
只有部分文件可以预览,详见管理后台的参数设置页面
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==
只有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==
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: 最后编辑时间