# 刷新微信抖音 Access Token

> 来源：https://help.gravity-engine.com/docs/server-integration/mini-game-tokens/refresh-access-token
> 说明通过服务端接口刷新微信或抖音小游戏 Access Token 的请求参数、签名规则与时间校验要求。



## 接口信息 [#接口信息]

### 请求地址 [#请求地址]

```
https://api-insight.gravity-engine.com/event_center/api/v1/base/media/access_token/refresh/
```

### 请求方法 [#请求方法]

POST

### query 参数 [#query-参数]

| 参数名称           | 必填 | 参数类型                    |
| -------------- | -- | ----------------------- |
| `access_token` | Y  | 当前 app 的 `access_token` |

### body 参数 [#body-参数]

| 参数名                  | 必填 | 类型     | 描述                         |
| -------------------- | -- | ------ | -------------------------- |
| `media_access_token` | Y  | string | 当前微信/抖音小游戏最新的 Access Token |
| `current_time`       | Y  | number | 当前时间戳，单位为秒                 |
| `sign`               | Y  | string | 签名，生成规则如下                  |

> **参数 `current_time` 与引力服务器当前时间误差如超过 10s，会被认为不合法，本次请求将失败！**

#### sign 签名生成规则说明 [#sign-签名生成规则说明]

**Java 示例**

```java
String str = "app_key=APP_KEY&media_access_token=MEDIA_ACCESS_TOKEN&current_time=CURRENT_TIME";
String sign = DigestUtils.md5DigestAsHex((str).getBytes()).toLowerCase();
```

**PHP 示例**

```php
$str = "app_key=APP_KEY&media_access_token=MEDIA_ACCESS_TOKEN&current_time=CURRENT_TIME";
$strSign = strtolower(md5(utf8_encode($str)));
```

**参数说明**

* `APP_KEY`：为项目加密密钥，可以在[应用管理](https://web.gravity-engine.com/#/manage/appmanage)查看，请注意不要对外泄漏！
* `MEDIA_ACCESS_TOKEN`：为当前最新的微信/抖音 `access_token`
* `CURRENT_TIME`：当前时间戳，单位为秒，与 body 中 `current_time` 参数保持一致

### 请求示例 [#请求示例]

```bash
curl 'https://backend.gravity-engine.com/event_center/api/v1/base/media/access_token/refresh/?access_token=ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "media_access_token": "MEDIA_ACCESS_TOKEN",
    "current_time": 1672502400,
    "sign": "your_sign_str"
  }'
```

### 应答示例 [#应答示例]

```json
{
  "data": {},
  "extra": {},
  "code": 0,
  "msg": "成功"
}
```
