存储 REST API
REST API 可以让你用任何支持发送 HTTP 请求的设备来与云服务进行交互,你可以使用 REST API 做很多事情,比如:
- 使用任何编程语言操作云端数据。
- 如果你不再需要使用云服务,你可以导出你所有的数据。
- 一个追求最少化依赖库的应用可以不引入 SDK,直接访问 REST API 获取云服务上的数据。
- 你可以批量新增大量数据,供移动应用之后读取。
- 你可以下载最近的数据用于离线分析和归档备份。
API 版本
当前的 API 版本是 1.1
。
在线测试
为了方便测试 REST API,文档给出了 curl 命令示例,示例针对类 unix 平台(macOS、Linux 等 )编写,直接粘贴至 Windows 平台 cmd.exe 很可能无法工作。
例如,curl 命令示例中的 shell 换行符(\
)在 cmd.exe 中是目录分隔符。
Windows 平台建议使用 Postman 等客户端测试。
Postman 可直接导入 curl 命令。
Postman 还支持自动生成多种语言(库)调用 REST API 的代码。
Base URL
REST API 请求的 Base URL 可以在云服务控制台 > 设置 > 应用 Keys > 服务器地址查看。
对象
URL | HTTP | 功能 |
---|---|---|
/1.1/classes/<className> | POST | 创建对象 |
/1.1/classes/<className>/<objectId> | GET | 获取对象 |
/1.1/classes/<className>/<objectId> | PUT | 更新对象 |
/1.1/classes/<className> | GET | 查询对象 |
/1.1/classes/<className>/<objectId> | DELETE | 删除对象 |
/1.1/scan/classes/<className> | GET | 按照特定顺序遍历 Class |
用户
URL | HTTP | 功能 |
---|---|---|
/1.1/users | POST | 用户注册 用户连接 |
/1.1/usersByMobilePhone | POST | 使用手机号码注册或登录 |
/1.1/login | POST | 用户登录 |
/1.1/users/<objectId> | GET | 获取用户 |
/1.1/users/me | GET | 根据 sessionToken 获取用户信息 |
/1.1/users/<objectId>/refreshSessionToken | PUT | 重置用户 sessionToken。 |
/1.1/users/<objectId>/updatePassword | PUT | 更新密码,要求输入旧密码。 |
/1.1/users/<objectId> | PUT | 更新用户 用户连接 验证 Email |
/1.1/users | GET | 查询用户 |
/1.1/users/<objectId> | DELETE | 删除用户 |
/1.1/requestPasswordReset | POST | 请求密码重设 |
/1.1/requestEmailVerify | POST | 请求验证用户邮箱 |
角色
URL | HTTP | 功能 |
---|---|---|
/1.1/roles | POST | 创建角色 |
/1.1/roles/<objectId> | GET | 获取角色 |
/1.1/roles/<objectId> | PUT | 更新角色 |
/1.1/roles | GET | 查询角色 |
/1.1/roles/<objectId> | DELETE | 删除角色 |
数据 Schema
URL | HTTP | 功能 |
---|---|---|
/1.1/schemas | GET | 获取应用的所有 Class 的 Schema |
/1.1/schemas/<className> | GET | 获取应用指定的 Class 的 Schema |
其他 API
URL | HTTP | 功能 |
---|---|---|
/1.1/date | GET | 获得服务端当前时间 |
/1.1/exportData | POST | 请求导出应用数据 |
/1.1/exportData/<id> | GET | 获取导出数据任务状态和结果 |
请求格式
对于 POST 和 PUT 请求,请求的主体必须是 JSON 格式,而且 HTTP header 的 Content-Type 需要设置为 application/json
。
用户验证通过 HTTP header 来进行,X-LC-Id 标明正在运行的是哪个应用(应用的 App ID
),
X-LC-Key 用来授权鉴定 endpoint:
curl -X PUT \
-H "X-LC-Id: {{appid}}" \
-H "X-LC-Key: {{appkey}}" \
-H "Content-Type: application/json" \
-d '{"content": "更新一篇博客的内容"}' \
https://{{host}}/1.1/classes/Post/<objectId>
X-LC-Key 通常情况下是应用的 App Key
,
有些情况(需要超级权限的操作)下是应用的 Master Key
。
当 X-LC-Key 值为 Master Key
时,需要在其后添加 ,master
后缀以示区分,例如:
X-LC-Key: {{masterkey}},master