发起授权
2022-7-18 大约 2 分钟
# 发起授权
接口说明
本接口用于发起腾讯文档 OAuth2.0 授权,一般由第三方的前端或客户端发起。
注意:不同的端发起授权,用户看到的页面是会有区别。浏览器中发起授权,用户看到的是扫码页;微信内发起授权,用户会直接进入授权确认页面。
用户授权成功后,会重定向到授权回调地址,并且带上 code 和 state 参数。
请求格式
| 描述 | 定义 |
|---|---|
| 接口名 | /oauth/v2/authorize |
| 请求方式 | GET |
| Accept | application/json |
请求参数
| 名称 | 类型 | 必选 | 备注 |
|---|---|---|---|
| client_id | string | 是 | 第三方应用唯一标识 |
| redirect_uri | string | 是 | 授权回调地址,需要 URL Encode,后台会校验域名是否在白名单中 |
| response_type | string | 是 | 授权方式,此处固定填写 code |
| scope | string | 是 | 固定为 all |
| state | string | 否 | 授权成功后原样带回给第三方,该参数用于防 CSRF 攻击,建议带上 |
注意:授权回调地址 redirect_uri 仅支持 HTTPS 协议
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | string | 用来换取 access_token 的授权码,有效期为 10 分钟且只能用一次 |
| state | string | 如果请求时传递参数,会回传该参数 |
请求示例
GET https://docs.qq.com/oauth/v2/authorize?client_id=CLIENT_ID&redirect_uri=https%3a%2f%2fexample.com%2fcallback&response_type=code&scope=all&state=STATE
1
1
响应示例
http://example.com/callback?code=CODE&state=STATE
1
1
第三方应用拿到授权码后,需要向文档开发平台换取 Access Token,换取流程可以参考获取 Token。
错误响应示例
http://example.com/callback?error=server_error&error_description=The+authorization+server+encountered+an+unexpected+condition+that+prevented+it+from+fulfilling+the+request&state=STATE
1
1
若返回该错误信息,表示授权失败,请检查 redirect_uri 等参数是否填写正确