存储 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 示例
Postman 可直接导入 curl 命令。

Postman 还支持自动生成多种语言(库)调用 REST API 的代码。

Base URL
REST API 请求的 Base URL(下文 curl 示例中用 {{host}} 表示)即应用绑定的 API 自定义域名,可以在 开发者中心 > 你的游戏 > 游戏服务 > 应用配置 > 域名配置 绑定、查看。
对象
| 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/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 | 获取导出数据任务状态和结果 |
应用凭证
在 开发者中心 > 你的游戏 > 游戏服务 > 应用配置 可 以查看应用的基本信息:
- Client ID:又称
App ID,在 SDK 初始化时用到。 - Client Token:又称
App Key,客户端对服务端的调用凭证,在 SDK 初始化时用到。 - 域名配置 > 云服务 API:又称 API 域名或 Server URL,在客户端 SDK 初始化时用到。域名配置参考下一节域名。
- Server Secret:又称
Master Key,用于在自有服务器、云引擎等受信任环境调用管理接口,具备跳过一切权限验证的超级权限。所以一定注意保密,千万不要在客户端代码中使用该凭证。
请求格式
对于 POST 和 PUT 请求,请求的主体必须是 JSON 格式,而且 HTTP header 的 Content-Type 需要设置为 application/json。
用户验证通过 HTTP header 来进行,X-LC-Id 标明正在运行的是哪个应用(应用的 App ID,对应到开发者中心游戏的 Client 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(对应到开发者中心游戏的 Client Token),有些情况(需要超级权限的操作)下是应用的 Master Key(对应到开发者中心游戏的 Server Secret)。
当 X-LC-Key 值为 Master Key 时,需要在其后添加 ,master 后缀以示区分,例如:
X-LC-Key: {{masterkey}},master
对于 JavaScript 使用,云服务支持跨域资源共享,所以你可以将这些 header 同 XMLHttpRequest 一同使用。
REST API 通讯支持 gzip 和 brotli 压缩,客户端可以通过指定相应的 Accept-Encoding HTTP 头开启压缩。