库和文件

更新: 2017-9-27

使用 登录与授权 获得的access token操作用户库和文件

API域名

Host: yk3.gokuai.com

文件库列表

获取用户创建和加入的文件库

POST /m-api/1/account/mount HTTP/1.1

请求参数

参数 必需 说明
token access token
dateline 当前unix时间戳, 单位秒
sign 签名

返回格式

json

返回结果

{
 "list": [
    {
      "ent_id": 0,
      "org_id": 1,
      "org_name": "个人文件",
      "mount_id": 1,
      "org_type": 0,
      "member_count": 0,
      "owner_member_id": 2,
      "org_logo_url": "http://dn-avatar.gokuai.com/36/3673e5b2778a8fa94db911c5c2473f8443c138fc.jpg",
      "size_org_total": 21474836480,
      "size_org_use": 806623,
      "storage_point": "",
      "storage_ethernet": 1
    },
        ...
    ]
}
字段 类型 说明
ent_id int 企业ID
org_id int 库ID
org_name string 库名称
mount_id int 库空间ID
org_type int 库类型
member_count int 成员总数
org_logo_url string 库图标地址
size_org_total bigint 库空间总大小, 单位字节
size_org_use bigint 库已使用空间大小, 单位字节
storage_point string 存储点
storage_ethernet int 是否允许外网访问

注意:

ent_id=0的库为不在企业中的个人库, org_type=20的库为企业中的个人文件


文件列表

POST /m-api/1/file/ls HTTP/1.1

请求参数

名称 必需 说明
token access token
mount_id 库空间ID
fullpath - 文件夹完整路径, 取公开资料文件夹下的市场文档公开资料\市场文档, 默认根路径空字符串, fullpathsort只需传一个即可
sort - 按文件类型列表文件, 1视频, 2音频, 3图片, 5文档, fullpathsort只需传一个即可
start 开始位置, 默认0
size 获取数量, 默认100
order 默认按最后修改时间倒序排序, filename按文件名排序, filesize按文件大小排序
sign 签名

返回格式

json

返回结果

{
  "count": 2,
  "list": [
    {
      "hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "mount_id": 1,
      "dir": 1,
      "fullpath": "公开资料",
      "filename": "公开资料",
      "filehash": "",
      "filesize": 0,
      "create_member_id": "1",
      "create_member_name": "我",
      "create_dateline": 1452569732,
      "last_member_id": "1",
      "last_member_name": "我",
      "last_dateline": 1452569732,
      "thumbnail": "",
      "lock": 0
    },
    {
      "hash": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
      "mount_id": 1,
      "dir": 0,
      "fullpath": "Word文档.doc",
      "filename": "Word文档.doc",
      "filehash": "ffffffffffffffffffffffffffffffffffffffff",
      "filesize": 204800,
      "create_member_id": "1",
      "create_member_name": "我",
      "create_dateline": 1442563789,
      "last_member_id": "1",
      "last_member_name": "我",
      "last_dateline": 1449505954,
      "thumbnail": "",
      "lock": 0
    },
    ......
  ]
}
字段 类型 说明
hash string 文件唯一ID
mount_id int 库空间ID
dir int 是否文件夹
fullpath string 文件完整路径
filename string 文件名称
filehash string 文件内容checksum, 文件夹为空字符串
filesize bigint 文件大小
create_member_id string 文件创建人ID
create_member_name string 文件创建人
create_dateline int 文件创建时间, unix时间戳, 单位秒
last_member_id string 文件最后修改人ID
last_member_name string 文件最后修改人
last_dateline int 文件最后修改时间, unix时间戳, 单位秒
thumbnail string 文件缩略图URL
lock int 文件是否锁定

文件下载地址

POST /m-api/2/file/open HTTP/1.1

请求参数

名称 必需 说明
token access token
mount_id 库空间ID
fullpath - 文件完整路径, fullpathhash传一个即可
hash - 文件唯一ID, fullpathhash传一个即可
sign 签名

返回格式

json

返回结果

{
  "hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "filehash": "ffffffffffffffffffffffffffffffffffffffff",
  "filesize": 204800,
  "lock": 0,
  "uris": [
    "http://xxxxxx"
  ]
}
字段 类型 说明
hash string 文件唯一ID
filehash string 文件checksum
filesize string 文件大小
lock int 文件是否锁定
uris array 下载地址数组, 默认情况只有一项, 下载地址有效期10分钟

文件(夹)信息

POST /m-api/2/file/info HTTP/1.1

请求参数

名称 必需 类型 说明
token access token
mount_id 库空间ID
fullpath - 文件完整路径, fullpathhash传一个即可
hash - 文件唯一ID, fullpathhash传一个即可
sign 签名

返回格式

JSON

返回结果

{
  "hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "mount_id": 1,
  "dir": 0,
  "fullpath": "Word文档.doc",
  "filename": "Word文档.doc",
  "filehash": "ffffffffffffffffffffffffffffffffffffffff",
  "filesize": 204800,
  "create_member_id": 1,
  "create_member_name": "我",
  "create_dateline": 1442563789,
  "last_member_id": 1,
  "last_member_name": "我",
  "last_dateline": 1449505954,
  "lock": 0,
  "preview": "",
  "thumbnail": ""
}
字段 类型 说明
hash string 文件唯一ID
mount_id int 库空间ID
dir int 是否文件夹
fullpath string 文件完整路径
filename string 文件名称
filehash string 文件checksum, 文件夹返回空字符串
filesize int 文件大小
create_member_id string 文件创建人ID
create_member_name string 文件创建人
create_dateline int 文件创建时间, unix时间戳, 单位秒
last_member_id string 文件最后修改人ID
last_member_name string 文件最后修改人
last_dateline int 文件最后修改时间, unix时间戳, 单位秒
preview string 预览URI地址, 在浏览器打开需要在URI前增加域名http://yk3.gokuai.com, 文件夹不反悔
thumbnail string 缩略图地址, 文件夹不返回

新建文件夹

POST /m-api/2/file/create_folder

请求参数

名称 必需 说明
token access token
mount_id 库空间ID
fullpath 文件夹完整路径
overwrite 默认1覆盖, 传0时, 如果文件夹已经存在, 则自动改名当前文件夹为xxx(2)
dateline 当前unix时间戳, 单位秒
sign 签名

文件上传

步骤1: 获得上传服务器

POST /m-api/1/account/servers HTTP/1.1

请求参数

参数 必需 说明
token access token
type m-upload
storage_point 文件库存储点, 默认空字符串表示云存储
dateline 当前unix时间戳, 单位秒
sign 签名

返回结果

[
  {
    "hostname": "yk3.gokuai.com",
    "port": "80",
    "https": "443",
    "path": "m-upload1"
  },
  ......
}

步骤2: 上传文件内容

取其中一个返回的服务端信息, 组合成上传URL

http://{hostname}:{port}/{path}/web_upload

multipart/form-data方式

请求参数

参数 必需 说明
token access token
mount_id 库空间ID
path 文件上传到的路径
name 上传的文件的名称
overwrite 是否覆盖同名文件, 1覆盖, 默认0不覆盖, 文件名后增加数字标识
filefield 指定上传的文件数据的请求参数名称
filefield对应的值 要上传文件的数据,在HTTP entity body里面使用Multipart/form-data格式上传, 如果参数filefield的值如果是file,则这个参数的名称就是file
redirect 上传完成(失败或成功)后的回调URL,回调结果在参数result中,用于不支持CORS的浏览器的获取上传完成后的返回信息

返回结果

正常返回 HTTP 200

{
    "hash": 文件唯一ID,
    "filesize": 文件大小,
    "fullpath": 文件完整路径
}

错误

{
    "error_code": 错误代码,
    "error_msg": 错误消息,
    "fullpath": 文件完整路径
}