REST API

REST API是我们的官方底层接口 私密云移动应用程序和我们的 SDKs. 这是 最直接的方式来访问API。这是参考文件, 专为那些不支持的平台的发展感兴趣 SDK的或有兴趣探索详细的API功能.

一般注意事项

UTF-8 encoding

从私密云 API传递给每一个字符串,需要UTF- 8 编码。为获得最大的兼容性,规范 Unicode Normalization Form C (NFC) before UTF-8 encoding.

全局的请求参数

有一个可能在所有的请求发送的几个参数。这些 总体上看,参数,更具体地说 在任何实际效果可能不是很明显的方法.

  • locale - 私密云使用这个 参数指定的内容反应的语言设置。如果您 应用程序支持英语以外的其他任何语言,插入相应的IETF language tag. 当 supported language 被指定, 私密云会 返回翻译 size 和/或者 user_error 字段(如适用).

错误处理

使用标准的HTTP错误代码语法错误返回。任何 额外的信息是包含在返回调用的身体, JSON格式。此处未列出的错误代码在REST API方法 下面列出.

标准API错误

code 说明
400 Bad input parameter. Error message should indicate which one and why.
401 Bad or expired token. This can happen if the user revoked or expired an access token. To fix, you should re-authenticate the user.
403 Bad OAuth request (wrong consumer key, bad nonce, expired timestamp, ...). Unfortunately, re-authenticating the user won't help here.
404 File or folder not found at the specified path.
405 Request method not expected (generally should be GET or POST).
503 Your app is making too many requests and is being rate limited. 503s can trigger on a per-app or per-user basis.
507 User is over storage quota.
5xx Server error.

验证方法

/oauth/request_token

说明

步骤1是验证。包含一个授权request token 到 用于认证过程的其余部分.

此方法对应 获取 未经授权的Request Token 在OAuth的核心1.0规范.

URL 结构
http://simiyun.cn/api.php/1/oauth/request_token
Method
POST
参数

有没有这种方法私密云的具体参数. 了解 Consumer Obtains a Request Token 在OAuth的核心1.0为规范 说明的这 OAuth 参数 用于获取一个 request token. 由于这种方法是代表一个未经授权的用户,当签名或者发送一个请求,没有访问 token 或者 secret 将不能参与.

返回值

一个 request token 和相对应的request token secret, URL-encoded. 这对 token/secret 意味着被使用在 /oauth/access_token 去完成验证过程和不能使用对其它任何API调用. 了解 未经授权服务供应商发出 Request Token OAuth的核心1.0规范的额外讨论 返回值当提取 request token.

样本响应

oauth_token_secret=b9q1n5il4lcc&oauth_token=mh7an9dkrg59

/oauth/authorize

说明

步骤2的认证。应用程序应该直接授权用户 /oauth/authorize. 这不是一个API调用本身,而是让一个网络端点 用户登录私密云和选择是否批准申请 代表他们访问文件的能力。页面服务 /oauth/authorize 应提交通过他们的Web浏览器的用户。没有 用户在这一步的授权,这是不可能为你 应用程序获得一个 access token 从 /oauth/access_token.

此方法对应 获取用户 Authorization 在OAuth的核心1.0规范.

URL 结构
http://simiyun.cn/api.php/1/oauth/authorize

注意: 这是唯一的一步,需要一个 端点http://simiyun.cn. 所有其它的 API 要求被完成通过 http://simiyun.cn/api . 出于安全的 着想,请不要在您的Web应用程序中嵌入本网页. 用户必须 不受阻碍地通过HTTPS的私密云网站重定向 untampered授权。只要授权被接受, 返回到您的网站或网站的用户将被重定向 指定使用 oauth_callback (或者更多像下面那样). 如果 用户拒绝授权您的应用程序,没有重定向到您的网站将 发生.

Method
GET
参数
  • oauth_token - 必须的. 请求 token获得通过 /oauth/request_token.
  • oauth_callback - 在用户授权 应用后,用户被重定向到应用服务的URL 提供此参数.
  • user_name - 必须的. 用户名,用户被重定向到应用服务的URL 提供此参数.
  • password - 必须的. 用户密码,用户被重定向到应用服务的URL 提供此参数.
  • device_name - 必须的 用户设备名称.
  • device_type - 必须的 设备类型,如:
    device_type {
               WEB_DEVICE         = 1; //web端
               SYSTEM_DEVICE      = 2; // 系统设备
               PC_DEVICE          = 3; // 计算机设备
               MOBILE_DEVICE      = 4; // 移动设备
            }
    .
  • device_info - 必须的 设备信息,设备对应唯一值,如硬盘序列号.
  • locale - 私密云将使用本地的参数提供 便于服务器翻译对应的语言,如果可能的话 . 详细了解 上述 更多 有关支持的语言环境.
返回值

因为应用程序没有直接调用/oauth/authorize , 没有直接的返回值. 这一步的重要性 是在用户授权的应用程序后,可以使用其请求 token通过检索一个访问token,通过 /oauth/access_token API 调用. 如果 oauth_callback 参数被省略, 在 应用程序必须找到一些其他方式确定何时 授权步骤完成. 例如, 这个应用程序能有用户的明确表示便于这一步完成, 但是这一步为用户不太直观 比起直接 flow.

如果oauth_callback被指定, 应用程序将 当用户将被重定向到给定的,知道授权完成 网址。 私密云将提供下面的返回值通过GET参数在 网址:

  • oauth_token - 这个请求token仅是授权. 请求的 token secret没有被返回.
  • uid - 用户的授权id在私密云.

/oauth/access_token

说明

步骤3的认证。在 /oauth/authorize 步骤完成后, 这个应用程序能调用 /oauth/access_token 获得访问 token.

此方法对应 Obtaining an Access Token 在OAuth的核心1.0规范.

URL 结构
http://simiyun.cn/api.php/1/oauth/access_token
Method
POST
参数

没有这种方法私密云的具体参数. 详细了解 Consumer Requests an Access Token 在OAuth的核心1.0为规范 说明用于取访问的参数token. 注意这个 oauth_tokenoauth_token_secret这种方法的要求 token 和token secret 先前获得通过 /oauth/request_token.

返回值

一个访问 token 和相应的访问token secret, URL-encoded. 返回时, 授权过程已完成, 可以用来签署请求访问token和相应的token secret 主要API调用. 详细了解 Service Provider Grants an Access Token 在OAuth的核心1.0规范 当获取一个返回值的额外讨论 access token。如果您的应用程序配置一个应用程序文件夹内的工作, 该文件夹也是在这一步中创建.

样本响应

oauth_token_secret=95grkd9na7hm&oauth_token=ccl4li5n1q9b

私密云 账号

/account/info

说明
获取用户的帐户信息.
URL 结构
http://simiyun.cn/api.php/1/account/info
Method
GET
参数
  • locale - 用户错误消息和特定于语言 文本将被转换为给定的语言环境。欲了解更多信息,请参阅 above.
返回值

用户帐户信息.

Sample JSON response

{
    "display_name": "John P. User",
    "uid": 12345678,
    "space": 104857600,
    "used_space":9028410,
    "email":"xxx@sian.com",
    "phone":"1388888888"
}

Return value definitions

field 说明
display_name 用户的显示名称.
uid 用户唯一的{name} ID.
space 用户空间配额(字节).
used_space 用用户的已经使用的配额 (字节).
email 用户电子邮件.
phone development_api_user

文件和元数据

/files (GET)

说明
下载文件.
URL 结构
http://simiyun.cn/api.php/1/files/<root>/<path> 
  • root - 指定的路径是相对于它的根. 有效的值是私密云对应拼音.
  • path - 您要检索的文件的路径.
Method
GET
参数
  • rev - 要检索的文件的修订版本。此信息默认为最新版本.
返回值

指定的文件的内容为请求的修订版本.

Errors
404 该文件找不到指定的路径,或在未找到指定的rev.
注意

此方法还支持 HTTP 范围检索请求 允许检索文件部分内容.

/files_put

说明

使用PUT上传文件.

此方法是在大多数情况下比使用更简单 /files (POST).

URL 结构
http://simiyun.cn/api.php/1/files_put/<root>/<path>?param=val
  • root - 指定的路径是相对于它的根. 有效的值是{name}对应拼音.
  • path - 要写入的文件的完整路径. 这个参数将 指向一个文件夹.
  • param=val - 此请求的的 url 编码参数。 他们不能不能发送请求主体中.
Methods
PUT
参数
  • The body of the request - 必须的. 要上传文件的内容。由于整个PUT/ POST的body会 被视为该文件, 任何 参数必须将作为请求 URL 的一部分传递. 请求的URL应该签署,就像你签署任何其他 OAuth的请求URL.
  • locale - 元数据上传成功返回 将其size 基于给定的翻译 语言环境.
  • overwrite - 这个值,可以是 true (默认) 或者 false, 确定发生了什么时,有 已经是一个文件,在指定的路径。如果true, 这个村子的文件将被新文件覆盖. 如果false, 这个新文件将自动重命名(例如, "test.txt" 可能自动重命名为"test (1).txt"). 这个新名字被包含在返回的元数据里面.
  • parent_rev - 您要编辑的文件的修订版本. 如果 parent_rev 匹配最近的文件版本在用户的, 那这个文件将被替换. 否则, 这个新文件将被重命名 (例如, "test.txt" 可能被重命名为 "test (conflicted copy).txt"). 如果你指定一个不存在的版本号 , 这个文件将不会保存(error 400). 获取最近的版本 rev 通过调用 /metadata.
返回值

这些是上传文件的元数据. 在可用的返回元数据字段的详细信息 .

相应模板

{
    "size": "225.4KB",
    "rev": "35e97029684fe",
    "thumb_exists": false,
    "bytes": 230783,
    "modified": "Tue, 19 Jul 2011 21:55:38 +0000",
    "path": "/Getting_Started.pdf",
    "is_dir": false,
    "icon": "page_white_acrobat",
    "root": "",
    "mime_type": "application/pdf",
    "revision": 220823
}

Errors
411 但是在 私密云不支持分块编码上传.
注意

通过 API 的所有上传的文件都限制150MB之下 . 如果用户希望上传大于 150 MB的文件 ,将不得不通过使用 私密云 桌面客户端.

我们 强烈推荐 提供 Content-Length 头,使服务器可以设置上传文件的大小 验证,它已经收到整个文件的 内容.

/files (POST)

说明

上传文件.

我们推荐你使用 /files_put 而因为其简单的接口.

URL 结构
http://simiyun.cn/api.php/1/files/<root>/<path>
  • root - 指定的路径是相对于它的根. 有效的值是私密云对应拼音.
  • path - 要写入的文件的完整路径. 这个参数将 指向一个文件夹.
Method
POST
参数
  • file - 必须的. 这个文件内容被上传 . 我们需要多部分上传 (multipart/form-data), 和这个 filename 这一领域的参数应设置为 所需的目标文件名. 同时签署的 OAuth 此请求, 这个 file 参数应该设置为 目标文件名,然后切换到文件的内容时 准备多请求.
  • locale - 用户错误消息和特定于语言 文本将被转换为给定的语言环境。欲了解更多信息,请参阅 above.
  • overwrite - 这个值可以是 true (default) 或者 false, 确定指定的路径已存在的文件时, 会发生什么. 如果为 true,这个存在的文件将被新文件覆盖. 如果是 false, 这个新文件将自动重命名(例如, "test.txt" 可能被重命名为"test (1).txt"). 这个新名字被包含在返回的元数据里面.
  • parent_rev - 您正在编辑的文件的修订. 如果 parent_rev 匹配最近的文件版本在用户的私密云, 那么这个文件将被替换. 否则, 这个新文件将自动重命名(例如, "test.txt" 可能重命名为"test (conflicted copy).txt"). 如果你指定一个版本不存在, 那这个文件将不会保存(error 400). 获取最近的rev 通过调用接口/metadata.
返回值

上传的文件的元数据。在返回的更多信息 可用的元数据字段 这儿.

JSON 响应样本

{
    "size": "225.4KB",
    "rev": "35e97029684fe",
    "thumb_exists": false,
    "bytes": 230783,
    "modified": "Tue, 19 Jul 2011 21:55:38 +0000",
    "path": "/Getting_Started.pdf",
    "is_dir": false,
    "icon": "page_white_acrobat",
    "root": "",
    "mime_type": "application/pdf",
    "revision": 220823
}

Errors
400 文件扩展名为 私密云 的忽略列表 (e.g. thumbs.db or .ds_store).
404 这 个文件的parent_rev 没有找到.
411 分块编码,试图为这个上传,但不 支持由私密云.
注意

通过 API 的所有上传的文件都限制150MB之下 . 如果用户希望上传大于 150 MB的文件 ,将不得不通过使用 私密云桌面客户端.

/files_sec

说明

使用hash上传文件,实现秒传.

此方法能更快速的创建文件,如果文件已经被创建过一次 /files (POST)or/files_put.

URL 结构
http://simiyun.cn/api.php/1/files_sec/<root>/<path>?param=val
  • root - 指定的路径是相对于它的根. 有效的值是私密云对应拼音.
  • path - 要写入的文件的完整路径. 这个参数将 指向一个文件夹.
Methods
POST/GET
参数
  • hash - 必须的. 要上传文件的内容的hash值(sha1算法)。任何 参数必须将作为请求 URL 的一部分传递. 请求的URL应该签署,就像你签署任何其他 OAuth的请求URL.
  • locale - 元数据上传成功返回 将其size 基于给定的翻译 语言环境.
  • overwrite - 这个值,可以是 true (默认) 或者 false, 确定发生了什么时,有 已经是一个文件,在指定的路径。如果true, 这个村子的文件将被新文件覆盖. 如果false, 这个新文件将自动重命名(例如, "test.txt" 可能自动重命名为"test (1).txt"). 这个新名字被包含在返回的元数据里面.
  • parent_rev - 您要编辑的文件的修订版本. 如果 parent_rev 匹配最近的文件版本在用户的, 那这个文件将被替换. 否则, 这个新文件将被重命名 (例如, "test.txt" 可能被重命名为 "test (conflicted copy).txt"). 如果你指定一个不存在的版本号 , 这个文件将不会保存(error 400). 获取最近的版本 rev 通过调用 /metadata.
返回值

这些是上传文件的元数据. 在可用的返回元数据字段的详细信息 .

相应模板

{
    "size": "225.4KB",
    "rev": "35e97029684fe",
    "thumb_exists": false,
    "bytes": 230783,
    "modified": "Tue, 19 Jul 2011 21:55:38 +0000",
    "path": "/Getting_Started.pdf",
    "is_dir": false,
    "icon": "page_white_acrobat",
    "root": "",
    "mime_type": "application/pdf",
    "revision": 220823
}

Errors
303 私密云要求客户端上传文件使用/files (POST)或者/files_put上传文件.
注意

通过 API 的所有上传的文件都限制150MB之下 . 如果用户希望上传大于 150 MB的文件 ,将不得不通过使用 私密云 桌面客户端.

我们 强烈推荐 提供 Content-Length 头,使服务器可以设置上传文件的大小 验证,它已经收到整个文件的 内容.

/metadata

说明
检索元数据文件和文件夹.
URL 结构
http://simiyun.cn/api.php/1/metadata/<root>/<path>
  • root - 指定的路径是相对于它的根. 有效的值是私密云对应拼音.
  • path - 要写入的文件的完整路径. 这个参数将 指向一个文件夹.
Method
GET
参数
  • file_limit - 默认值为10,000. 当查询一个目录, 该服务将不会报告列表包含比 file_limit更多 文件和406(不接受)状态,而不是回应 回应.
  • hash - 每次调用 /metadata在一个文件夹都将返回 一个 hash 值,所产生的哈希所有 在该响应中包含的元数据. 在最近调用的 /metadata 你应规定,通过此参数值,因此,如果没有 发生了变化,将响应一个“304未修改”状态码 而不是完整的(可能非常大)的文件夹列表. 这 参数被忽略,如果指定的路径与文件关联 或者如果 list=false. 两个用户之间共享一个文件夹 为每个用户有相同的哈希.
  • list - 这个字符串为 truefalse 都是有效的值. true 是默认值. 如果是 true, 这个文件夹的元数据将包括一个 contents 属性, 包含元数据条目内容的文件夹的列表. 如果 false, 这个 contents 属性不会返回.
  • include_deleted - 如果这个参数设置为true, 那已经删除的文件和文件夹将被包含在元数据里面.
  • rev - 如果包括一个特定的修订版号, 然后只对修订的元数据将被退回.
  • locale - 用户错误消息和特定于语言 文本将被转换为给定的语言环境。欲了解更多信息,请参阅 above.
返回值

文件或者文件夹的元数据对应给定的路径<path>. 如果 <path>代表的文件夹和 list 参数是 true, 元数据还包括一个 文件夹的内容元数据.

样品文件的JSON返回值

{
    "size": "225.4KB",
    "rev": "35e97029684fe",
    "thumb_exists": false,
    "bytes": 230783,
    "modified": "Tue, 19 Jul 2011 21:55:38 +0000",
    "path": "/Getting_Started.pdf",
    "is_dir": false,
    "icon": "page_white_acrobat",
    "root": "",
    "mime_type": "application/pdf",
    "revision": 220823,
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}

样品的JSON返回值的一个文件夹,当 list 参数被设置 true. (如果 listfalse 这个 contents键将简单 省略结果)

{
    "size": "0 bytes",
    "hash": "37eb1ba1849d4b0fb0b28caf7ef3af52",
    "bytes": 0,
    "thumb_exists": false,
    "rev": "714f029684fe",
    "modified": "Wed, 27 Apr 2011 22:18:51 +0000",
    "path": "/Public",
    "is_dir": true,
    "icon": "folder_public",
    "root": "",
    "contents": [
        {
            "size": "0 bytes",
            "rev": "35c1f029684fe",
            "thumb_exists": false,
            "bytes": 0,
            "modified": "Mon, 18 Jul 2011 20:13:43 +0000",
            "path": "/Public/latest.txt",
            "is_dir": false,
            "icon": "page_white_text",
            "root": "",
            "mime_type": "text/plain",
            "revision": 220191,
            "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        }
    ],
    "revision": 29007
}

返回值定义

field 说明
size 文件大小 (转换后 locale).
bytes 文件大小,单位,比特
is_dir 是否是文件夹.
is_deleted 是否被删除(仅仅是文件或文件夹被删除后,才返回).
rev 文件的当前版本的唯一标识符. 这 字段是相同的 rev 其他地方一样,在API可以 可用于检测变化和避免冲突.
hash 这个 hash 在以后的一个文件夹的元数据的调用 /metadata.
thumb_exists True 如果文件是一个图片能生成缩略图通过调用 /thumbnails .
icon 该图标的名称icon .
modified 文件最后修改时间在私密云, 标准的时间格式 date format (根目录不包含该值).
root 根或顶层的文件夹路径是相对的.
revision 一个过时属性,半唯一标识文件. 使用 rev 代替.

注意: modified, rev, and revision 不能返回在元数据对根目录('/').

Errors
304 文件夹内容没有改变.
406 数量太多.

/revisions

说明

文件的版本历史.

仅修订版达三十天老都可用. 您可以结合使用的修订号,调用 /restore 接口去还原文件之前的版本.

URL 结构
http://simiyun.cn/api.php/1/revisions/<root>/<path>
  • root - 指定的路径是相对于它的根. 有效的值是私密云对应拼音.
  • path - 要写入的文件的完整路径. 这个参数将 指向一个文件夹.
Method
GET
参数
  • rev_limit - 默认限制为 10.最大为1,000. 如果获取文件夹的版本历史, 服务器不会返回版本历史, 将会回应一个406(未 接受)的状态响应.
  • locale - 用户错误消息和特定于语言 文本将被转换为给定的语言环境。欲了解更多信息,请参阅 above.
返回值

就像所有版本的列表格式文件的元数据。更多 返回的元数据字段的信息这儿.

JSON返回值示例

[
{
    "is_deleted": true,
    "revision": 4,
    "rev": "40000000d",
    "thumb_exists": false,
    "bytes": 0,
    "modified": "Wed, 20 Jul 2011 22:41:09 +0000",
    "path": "/hi2",
    "is_dir": false,
    "icon": "page_white",
    "root": "app_folder",
    "mime_type": "application/octet-stream",
    "size": "0 bytes"
},
{
    "revision": 1,
    "rev": "10000000d",
    "thumb_exists": false,
    "bytes": 3,
    "modified": "Wed, 20 Jul 2011 22:40:43 +0000",
    "path": "/hi2",
    "is_dir": false,
    "icon": "page_white",
    "root": "app_folder",
    "mime_type": "application/octet-stream",
    "size": "3 bytes"
}
]
Errors
406 文件太多.

/restore

说明

恢复一个文件前面的版本.

不像在给定的版本下载一个文件,然后重新上传 它,这个调用是数据。这也节省了一堆流量.

URL 结构
http://simiyun.cn/api.php/1/restore/<root>/<path>
  • root - 指定的路径是相对于它的根. 有效的值是私密云对应拼音.
  • path - 要写入的文件的完整路径. 这个参数将 指向一个文件夹.
Version
1
Method
POST
参数
  • rev - Required. The revision of the file to restore.
  • locale - 用户错误消息和特定于语言 文本将被转换为给定的语言环境。欲了解更多信息,请参阅 above.
返回值

恢复文件的元数据. 更多信息在返回的元数据.

Sample JSON response

{
    "is_deleted": true,
    "revision": 4,
    "rev": "40000000d",
    "thumb_exists": false,
    "bytes": 0,
    "modified": "Wed, 20 Jul 2011 22:41:09 +0000",
    "path": "/hi2",
    "is_dir": false,
    "icon": "page_white",
    "root": "sandbox",
    "mime_type": "application/octet-stream",
    "size": "0 bytes"
}
Errors
404 该路径没有找到对应的版本

/shares

说明

创建和返回一个文件或文件夹的外链.

注意: 外链创建被/shares API 在3天后将失效.

URL 结构
http://simiyun.cn/api.php/1/shares/<root>/<path>
  • root - 指定的路径是相对于它的根. 有效的值是{name}对应拼音.
  • path - 要写入的文件的完整路径. 这个参数将 指向一个文件夹.
Method
POST
参数
  • locale - 用户错误消息和特定于语言 文本将被转换为给定的语言环境。欲了解更多信息,请参阅 above.
返回值

一个文件或文件夹的外链地址. 这个链接可以在公共环境使用和直接预览在文件里面 . 也 返回这个链接的过期时间date format.

一个文件示例 JSON 的返回值

{
    "url": "http://simiyun.cn/api/get_share/APqhX1",
    "expires": "Sat, 17 Aug 2011 02:34:33 +0000"
}

/media

说明

返回一个文件的链接地址.

/shares相似.

URL 结构
http://simiyun.cn/api.php/1/media/<root>/<path>
  • root - 指定的路径是相对于它的根. 有效的值是{name}对应拼音.
  • path - 要写入的文件的完整路径. 这个参数将 指向一个文件夹.
Version
1
Method
POST
参数
  • locale - 用户错误消息和特定于语言 文本将被转换为给定的语言环境。欲了解更多信息,请参阅 above.
返回值

服务器直接返回media 的url. 也返回链接过期时间在私密云的平常date format.

一个文件示例 JSON 的返回值

{
    'url': 'http://simiyun.cn/data.php/1/get_shares/a2mbDa2',
    'expires': 'Thu, 16 Sep 2011 01:01:25 +0000'
}
注意
这个 /media 链接到期后四个小时, 没有足够的时间来获取文件, 但不足以使连接保持打开状态.

/thumbnails

说明
获取图像的缩略图.
URL 结构
http://simiyun.cn/api.php/1/thumbnails/<root>/<path>
  • root - 指定的路径是相对于它的根. 有效的值是{name}对应拼音.
  • path - 要写入的文件的完整路径. 这个参数将 指向一个文件夹.
Method
GET
参数
  • format - JPEG (default) or PNG. 对于照片的图像, JPEG 应该是首选, 当 PNG 屏幕截图和数字艺术更好.

  • size - 为下列值之一: (默认 small):
    value dimensions (px)
    small 32x32
    medium 64x64
    large 128x128
    s 64x64
    m 128x128
    l 640x480
    xl 1024x768

返回值

指定的图像内容的缩略图.

Errors
404 文件路径没找到或者不允许的文件扩展名 缩略图.
415 这个图片无效和不能生成缩略图.
注意

这个方法目前只支持下列文件后缀的文件缩略图: "jpg", "jpeg", "png", "tiff", "tif", "gif" and "bmp".

大小超过20MB的照片不会生成缩略图.

文件操作

不同的 fileops 调用提供了标准的文件 操作: 文件和文件夹被移动,复制,或者删除,和文件夹被创建.

/fileops/copy

说明
复制一个文件或文件夹到新的位置.
URL 结构
http://simiyun.cn/api.php/1/fileops/copy
Method
POST
参数
  • root - 必须的. 根目录文件名. 有效值是私密云的拼音.
  • from_path - 必须的. 指定的文件或文件夹 被复制从(相对 root).
  • to_path - 必须的. 指定 目标路径 包括新的名字为文件或文件夹 (相对root).
  • locale - 用户错误消息和特定于语言 文本将被转换为给定的语言环境。欲了解更多信息,请参阅 above.
返回值

复制文件或者文件夹的元数据. 更多关于 返回元数据字段 这儿.

示例JSON响应

{
    "size": "15 bytes",
    "rev": "1f0a503351f",
    "thumb_exists": false,
    "bytes": 15,
    "modified": "Wed, 10 Aug 2011 18:21:29 +0000",
    "path": "/test1.txt",
    "is_dir": false,
    "icon": "page_white_text",
    "root": "",
    "mime_type": "text/plain",
    "revision": 496342
}
Errors
403 已经存在一个文件在指定的路径下.
404 源文件没有找到在指定路径下.
406 文件太多. 最大限制数量是10,000 文件和文件夹.

/fileops/create_folder

说明
Creates a folder.
URL 结构
http://simiyun.cn/api.php/1/fileops/create_folder
Method
POST
参数
  • root - 指定的路径是相对于它的根. 有效的值是{name}对应拼音.
  • path - 要写入的文件的完整路径. 这个参数将 指向一个文件夹.
  • locale - 用户错误消息和特定于语言 文本将被转换为给定的语言环境。欲了解更多信息,请参阅 above.
返回值

新文件夹的元数据. 更多关于 返回元数据字段 这儿.

示例JSON响应

{
    "size": "0 bytes",
    "rev": "1f477dd351f",
    "thumb_exists": false,
    "bytes": 0,
    "modified": "Wed, 10 Aug 2011 18:21:30 +0000",
    "path": "/new_folder",
    "is_dir": true,
    "icon": "folder",
    "root": "",
    "revision": 5023410
}
Errors
403 已经存在一个文件夹在给定的位置.

/fileops/delete

说明
删除文件或者文件夹.
URL 结构
http://simiyun.cn/api.php/1/fileops/delete
Method
POST
参数
  • root - 指定的路径是相对于它的根. 有效的值是{name}对应拼音.
  • path - 要写入的文件的完整路径. 这个参数将 指向一个文件夹.
  • locale - 用户错误消息和特定于语言 文本将被转换为给定的语言环境。欲了解更多信息,请参阅 above.
返回值

删除文件或文件夹的元数据. 更多关于 返回元数据字段 这儿.

Sample JSON response

{
    "size": "0 bytes",
    "is_deleted": true,
    "bytes": 0,
    "thumb_exists": false,
    "rev": "1f33043551f",
    "modified": "Wed, 10 Aug 2011 18:21:30 +0000",
    "path": "/test .txt",
    "is_dir": false,
    "icon": "page_white_text",
    "root": "",
    "mime_type": "text/plain",
    "revision": 492341
}
Errors
404 没有文件在指定的路径下.
406 文件太多. 限制数量在10,000 文件夹或文件.

/fileops/move

说明
移动一个文件或者文件夹到新的位置.
URL 结构
http://simiyun.cn/api.php/1/fileops/move
Method
POST
参数
  • root - 指定的路径是相对于它的根. 有效的值是{name}对应拼音.
  • from_path - 必须的. 指定文件或文件夹 被复制从(相对于 root).
  • to_path - 必须的. 指定 目标路径 包括新的名字为文件或文件夹(相对root).
  • locale - 用户错误消息和特定于语言 文本将被转换为给定的语言环境。欲了解更多信息,请参阅 above.
返回值

元数据移动的文件或文件夹。更多关于 返回元数据字段 这儿.

示例JSON响应

{
    "size": "15 bytes",
    "rev": "1e0a503351f",
    "thumb_exists": false,
    "bytes": 15,
    "modified": "Wed, 10 Aug 2011 18:21:29 +0000",
    "path": "/test2.txt",
    "is_dir": false,
    "icon": "page_white_text",
    "root": "",
    "mime_type": "text/plain",
    "revision": 496342
}
Errors
403 已经有一个在给定的目标文件,或无效 移动操作尝试(如移动到一个共享文件夹 共享文件夹)
404 源文件没有找到在指定的路径下.
406 太多的文件。限制目前10,000个文件, 文件夹.

私密云 事件

/events/list

说明
获取事件列表.
URL 结构
http://simiyun.cn/api.php/1/events/list
Method
GET
参数
  • file_limit - 默认值为10,000. 该服务将不会报告列表包含比 file_limit更多 文件和406(不接受)状态,而不是回应.
  • event - 事件过滤参数,由服务器端返回的最后时间的值,默认为1(返回所有在0之后的事件,默认最大10,000条) .
返回值

事件列表.

Sample JSON response

{
    "contents": [
        {
          "action": 3,
          "path": "/Getting_Started.pdf",
          "context": {
              "hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
              "rev":1,
              "bytes":0
          },
          "event": "lbtgg00a32nzzkww47dq329vxws84pzp13234318095075"
        },
        {
          "action": 0,
          "path": "/folder",
          "context" :"/folder",
          "event": "lbtgg00a32nzzkww47dq329vxws84pzp13234318095075"
        }
    ]
}

Return value definitions

field 说明
action 创建,修改,删除的标志(0-创建文件夹,1-删除,2-移动目录、文件,或者重命名,3-创建文件,4-修改文件).
path 路径.
context 当创建文件和修改文件时,context为包含文件hash,rev,size的json字符串;当move事件时为to_path
event 事件唯一标志.
Errors
404 event对应记录没有找到.
406 太多的事件。限制目前10,000条记录.