---
order: 3
navTitle: 换取access_token
---
# 换取acccess\_token

用于第三方应用后台根据`code`获取`acccess_token`。

`code`是用户授权应用时传递给第三方应用的一个临时授权码，需要换取`acccess_token`，并在后续调用相关API时传递`acccess_token`以便获得访问权限。

[开放授权应用](../trustedapps/README.md#开放授权应用)、[静默授权应用](../../../../sys-settings/security/trustedapps.md#静默授权应用)和[IP授信应用](../trustedapps/README.md#IP授信应用)都是通过此API换取`acccess_token`。

## 调用说明

请求方式： `POST`\
请求url：`/api/oauth2/getToken`

参数示例：

```json
{
    "appid": "5rc6t7vyb8u9nimpo",
    "app_secret": "q3zw4xe5cr68vt79by80un9ie5r6ctv7yb8uio",
    "code": "w4ex57cr6tv7by8unio",
    "userid": "user1",
    "grant_type": "code",
}
```

参数说明：

| 参数       | 必须 | 说明                                                                                                                                                                                                                       |
| :--------- | :--- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| appid      | 是   | 应用ID                                                                                                                                                                                                                     |
| app\_secret | 是   | 应用秘钥                                                                                                                                                                                                                   |
| code       | 否   | 用户授权码，对于[开放授权应用](../trustedapps/README.md#开放授权应用)和[静默授权应用](../../../../sys-settings/security/trustedapps.md#静默授权应用)需要这个参数，对于[IP授信应用](../trustedapps/README.md#IP授信应用)不需要 |
| userid     | 否   | 用户ID对于[IP授信应用](../trustedapps/README.md#IP授信应用)需要这个参数用于获取权限，[开放授权应用](../trustedapps/README.md#开放授权应用)和[静默授权应用](../trustedapps/README.md#静默授权应用)不需要                    |
| grant\_type | 是   | 对于[开放授权应用](../trustedapps/README.md#开放授权应用)传递 `code`， 对[静默授权应用](../trustedapps/README.md#静默授权应用)传递`auto`,对于[IP授信应用](../trustedapps/README.md#IP授信应用)传递`ip`                     |
| userDirecty      | 否   | 用户类型，`sys`代表系统用户，`external`代表外部用户，默认为`sys`
|

**特殊说明**：对于[IP授信应用](../trustedapps/README.md#IP授信应用)，发起请求的服务器（或者代理服务器）的IP需要是应用配置中的IP。

## 返回值说明

示例：

```json
{
    "result": true
    "errorCode": "appNotFound",
    "message": "授信应用不存在",
    "access_token": "er6ct7v8ybu9nimp",
    "expired_in": 7200,
    "refresh_token": "crft7gvyhbunimo[nibu9vy8tc7]"
}
```

参数说明：

| 参数          | 说明                                                                                                 |
| :------------ | :--------------------------------------------------------------------------------------------------- |
| result        | 结果是否有错误                                                                                       |
| errorCode     | 错误码                                                                                               |
| message       | 错误文本提示                                                                                         |
| access\_token  | 接口调用凭证                                                                                         |
| expired\_in    | access\_token有效时间，单位为秒，默认为2小时                                                          |
| refresh\_token | 用来刷新 access\_token，对于[IP授信应用](../trustedapps/README.md#IP授信应用)不能刷新，没有这个返回值 |

`errorCode`说明：

| errorCode      | 说明           |
| :------------- | :------------- |
| appNotFound    | 授信应用不存在 |
| secretMismatch | 应用秘钥错误   |
| codeNotFound   | 授权码过期     |
| ipMismatch     | IP不匹配       |
