# REST API 教程

> Access Cloud Save data from any development environment with the REST API.

您可以使用 REST API 访问 Cloud Save 中的数据。

REST API 提供更大的灵活性，让您可以利用喜欢的语言和游戏开发引擎自动执行工作流程，或从游戏服务器执行这些工作流程。

Cloud Save 服务提供以下 REST API：

* 用于玩家操作\*（例如保存/加载数据）\*的 [Cloud Save Player API](https://services.docs.unity.com/cloud-save/)
* 用于管理操作\*（例如配置查询/索引）\*的 [Cloud Save Admin API](https://services.docs.unity.com/cloud-save-admin/)

> **Note:**
>
> 对 Cloud Save 服务的速率限制为每个玩家每分钟 600 个请求。

### 身份验证##authentication

您可以使用 [Multiplay Hosting 令牌](#authenticate-using-a-multiplay-hosting-token)或[无状态令牌](#authenticate-using-a-stateless-token)对 Cloud Save REST API 的请求进行身份验证。请在请求标头中使用收到的令牌作为 HTTP 身份验证的持有者令牌。

> **Note:**
>
> 建议使用 Multiplay 令牌从游戏服务器进行身份验证。使用无状态令牌进行身份验证需要您创建一个服务帐户并安全地存储私钥，而 Multiplay 令牌不需要这样做，并且管理起来不那么复杂。

#### 使用 Multiplay Hosting 令牌进行身份验证##authenticate-using-a-multiplay-hosting-token

您可以通过在游戏服务器上运行以下请求来获取 Multiplay Hosting 令牌：

```bash
curl -X GET http://localhost:8086/v4/token
```

该请求将返回以下格式的响应：

```json
{"token":"<BEARER_TOKEN>", "error":""}
```

#### 使用无状态令牌进行身份验证##authenticate-using-a-stateless-token

要使用无状态令牌，您需要创建一个服务帐户并调用 [Token Exchange API](https://services.docs.unity.com/auth/v1/#tag/Authentication/operation/exchangeToStateless) 以获取有限生命周期的无状态令牌。

### 调用 REST API##calling-the-rest-api

您可以使用代码库本地的任何 HTTP 库来调用模块终端。请在请求标头中使用获取的身份验证令牌作为 HTTP 身份验证的持有者令牌。

一个为玩家保存数据的 CURL 请求示例如下所示：

```bash
curl -X POST
  -H 'Authorization: Bearer <BEARER_TOKEN>' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{"key":"someKey","value":"someValue"}' \
  'https://cloud-save.services.api.unity.com/v1/data/projects/<PROJECT_ID>/players/<PLAYER_ID>/items'
```
