POST /oauth/token
签发或交换 OAuth Token
REST API 概览 · OpenAPI JSON · OpenAPI YAML
| 稳定性 | 认证 | 费用 | Operation ID |
|---|---|---|---|
| 已发布 | Client ID;机密客户端使用 HTTP Basic | 免费 | token_api_v1_oauth_token_post |
此操作没有路径或查询参数。
Schema: inline
授权类型: authorization_code
| 名称 | 必填 | 类型 | 说明 |
|---|---|---|---|
grant_type | 是 | string | — |
code | 是 | string | — |
redirect_uri | 是 | string | — |
code_verifier | 是 | string | — |
client_id | 否 | string | — |
授权类型: refresh_token
| 名称 | 必填 | 类型 | 说明 |
|---|---|---|---|
grant_type | 是 | string | — |
refresh_token | 是 | string | — |
client_id | 否 | string | — |
授权类型: urn:ietf:params:oauth:grant-type:device_code
| 名称 | 必填 | 类型 | 说明 |
|---|---|---|---|
grant_type | 是 | string | — |
device_code | 是 | string | — |
client_id | 否 | string | — |
授权类型: urn:ietf:params:oauth:grant-type:token-exchange
| 名称 | 必填 | 类型 | 说明 |
|---|---|---|---|
grant_type | 是 | string | — |
subject_token | 是 | string | — |
subject_token_type | 是 | string | — |
requested_token_type | 否 | string | — |
resource | 是 | string | — |
scope | 是 | string | — |
model | 否 | string | — |
run_id | 否 | string | — |
max_credits | 否 | integer | — |
tool_ids | 否 | string[] | — |
provider_ids | 否 | string[] | — |
curl --request POST \
--url "https://qveris.cn/api/v1/oauth/token" \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'code=YOUR_AUTHORIZATION_CODE' \
--data-urlencode 'redirect_uri=YOUR_REGISTERED_REDIRECT_URI' \
--data-urlencode 'code_verifier=YOUR_PKCE_CODE_VERIFIER' \
--data-urlencode 'client_id=YOUR_CLIENT_ID'
const response = await fetch("https://qveris.cn/api/v1/oauth/token", {
method: "POST",
body: new URLSearchParams(Object.entries({
"grant_type": "authorization_code",
"code": "YOUR_AUTHORIZATION_CODE",
"redirect_uri": "YOUR_REGISTERED_REDIRECT_URI",
"code_verifier": "YOUR_PKCE_CODE_VERIFIER",
"client_id": "YOUR_CLIENT_ID"
}).map(([key, value]) => [key, String(value)])),
})
if (!response.ok) throw new Error(`QVeris request failed: ${response.status}`)
console.log(await response.json())
import json
import requests
response = requests.request(
"POST",
"https://qveris.cn/api/v1/oauth/token",
data=json.loads(r'''{
"grant_type": "authorization_code",
"code": "YOUR_AUTHORIZATION_CODE",
"redirect_uri": "YOUR_REGISTERED_REDIRECT_URI",
"code_verifier": "YOUR_PKCE_CODE_VERIFIER",
"client_id": "YOUR_CLIENT_ID"
}'''),
timeout=30,
)
response.raise_for_status()
print(response.json())
| 状态码 | 含义 | Schema |
|---|---|---|
200 | Successful Response | OAuthAccessTokenResponse | OAuthTokenExchangeResponse |
400 | OAuth request or grant error | OAuthErrorResponse |
401 | Client authentication or bearer-token error | OAuthErrorResponse |
403 | Subject token has insufficient scope | OAuthErrorResponse |
422 | Validation Error | HTTPValidationError |
{
"access_token": "string",
"token_type": "Bearer",
"expires_in": 1,
"scope": "string",
"resource": "string"
}
这个页面对你有帮助吗?