授权与登陆
账号信息
文件基本操作
- /files (GET)
- /files_put
- /files (POST)
- /files_sec
- /metadata
- /revisions
- /restore
- /search
- /media
- /thumbnails
文件更多操作
事件机制
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_tokenAPI 调用. 如果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_token和oauth_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用户电子邮件. phonedevelopment_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- 这个字符串为true何false都是有效的值.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. (如果list是false这个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_existsTrue 如果文件是一个图片能生成缩略图通过调用 /thumbnails.icon该图标的名称icon . modified文件最后修改时间在私密云, 标准的时间格式 date format (根目录不包含该值). root根或顶层的文件夹路径是相对的. revision一个过时属性,半唯一标识文件. 使用 rev代替.
注意:
modified,rev, andrevision不能返回在元数据对根目录('/'). - 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 该路径没有找到对应的版本
/search
- 说明
-
返回元数据为所有的文件和文件夹,只要匹配查询条件的.
值限于搜索文件夹的路径和其子文件夹层次结构.
- URL 结构
http://simiyun.cn/api.php/1/search/<root>/<path>
root- 指定的路径是相对于它的根. 有效的值是{name}对应拼音.path- 要写入的文件的完整路径. 这个参数将 不 指向一个文件夹.
- Methods
- GET, POST
- 参数
-
query- 必须的 . 查询条件. 不能为空file_limit- 最大查询数和默认值为1,000. 如果查询一个文件夹,该服务将不会报告列表包含 比file_limit文件,而是将回应 406(不接受)的状态响应.include_deleted- 如果这个参数设置为true, 那么删除的文件和文件夹也会被查询出来.locale- 用户错误消息和特定于语言 文本将被转换为给定的语言环境。欲了解更多信息,请参阅 above.
- 返回值
-
任何匹配的文件和文件夹的元数据项列表。更多 返回的元数据字段的信息 这里.
样例JSON为“txt”的搜索返回值 私密云/公共文件夹
[ { "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 } ] - Errors
-
406 太多的文件被返回.
/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) orPNG. 对于照片的图像,JPEG应该是首选, 当PNG屏幕截图和数字艺术更好. -
size- 为下列值之一: (默认small):value dimensions (px) small32x32 medium64x64 large128x128 s64x64 m128x128 l640x480 xl1024x768
-
- 返回值
-
指定的图像内容的缩略图.
- Errors
-
404 文件路径没找到或者不允许的文件扩展名 缩略图. 415 这个图片无效和不能生成缩略图. - 注意
-
这个方法目前只支持下列文件后缀的文件缩略图: "jpg", "jpeg", "png", "tiff", "tif", "gif" and "bmp".
大小超过20MB的照片不会生成缩略图.
/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条记录.