Auth类
Auth 类说明¶
1. 使用自己的密钥¶
在使用百度授权时,必须在当前项目目录下(.env)或用户根目录下(~/.env.baidu)建立配置文件,并提供以下四个参数:
CLIENT_IDCLIENT_KEYCLIENT_SECRETREDIRECT_URI
这四个参数需要在 百度 开发者平台申请,申请通过后才能获得对应的值。
2. 使用第三方密钥(作者提供)¶
如果使用作者提供的第三方密钥,会自动在项目目录(.env)或根目录(~/.env.baidu)建立配置文件,只需要根据提示进行授权即可
OAuth类¶
OAuth
¶
OAuth2 授权与 Token 管理
Source code in src/cpanbaidu/authtype/OAuth.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 | |
__init__
¶
初始化 OAuthClient
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
envpath
|
str | None
|
.env 文件路径, 如果为 None 则使用当前目录下的 .env |
None
|
verbose
|
bool
|
是否启用详细日志输出 |
False
|
Source code in src/cpanbaidu/authtype/OAuth.py
get_state
¶
获取 OAuth2 state 值
Source code in src/cpanbaidu/authtype/OAuth.py
get_authorize_url
¶
获取授权 URL
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
str
|
可选的 state 参数,默认为"random123",如果未提供则自动获取 |
'random123'
|
Returns:
| Type | Description |
|---|---|
str
|
授权 URL 字符串, 在控制台中会打印该链接供用户访问授权 |
Source code in src/cpanbaidu/authtype/OAuth.py
fetch_token
¶
根据授权码获取 token
用户访问授权 URL 并授权后,会得到一个 code 参数值,使用该值调用此方法获取 token。
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
code
|
str
|
授权码,从重定向 URL 的 code 参数中获取 |
required |
Returns:
| Type | Description |
|---|---|
dict
|
包含 access_token, refresh_token 等信息的响应数据字典 |
Source code in src/cpanbaidu/authtype/OAuth.py
get_access_token
¶
获取有效的 access_token, 如果过期则自动刷新
Returns:
| Type | Description |
|---|---|
str
|
有效的 access_token 字符串 |
Source code in src/cpanbaidu/authtype/OAuth.py
Auth类¶
Auth
¶
Bases: OAuth
带自动 Bearer Token 的授权请求类
该类继承自 OAuth, 自动在请求中添加 Bearer Token 进行授权。
Source code in src/cpanbaidu/Auth.py
request
¶
带授权头的请求
根据不同的要求, 添加一些通用的请求头。
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
method
|
str
|
HTTP 方法,如 "GET", "POST" 等 |
required |
url
|
str
|
请求的完整 URL 或相对路径 |
required |
**kwargs
|
Any
|
传递给 httpx 请求的其他参数,如 headers, params, json 等 |
{}
|
Returns:
| Type | Description |
|---|---|
Response
|
httpx.Response: HTTP 响应对象 |
Source code in src/cpanbaidu/Auth.py
request_json
¶
带授权头的请求,并解析为统一响应模型
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
method
|
str
|
HTTP 方法,如 "GET", "POST" 等 |
required |
url
|
str
|
请求的完整 URL 或相对路径 |
required |
kwargs
|
Any
|
传递给 httpx 请求的其他参数,如 headers, params, json 等 |
{}
|
Returns:
| Type | Description |
|---|---|
dict
|
解析后的响应数据,符合统一响应模型 |