【发布时间】:2023-02-01 12:39:28
【问题描述】:
我正在尝试获取身份验证流程的用户授权码。当使用 Python 和请求发送 get 请求时,我有两个用于标头和参数的字典,但我收到 206 响应和服务器错误。我有所有必需的参数和标题字段。忽略任何缩进问题,它们只是粘贴错误。与影响应用程序/客户端的我的 spotify 开发帐户相关的问题应该没有。
headers = {
'Accept': 'application/json',
'Content-Type': 'application/json',
}
code_params = {
'response_type': 'code',
'client_id': CLIENT_ID,
'redirect_uri': REDIRECT_URI,
'scope': 'user-read-private user-read-email',
}
code = requests.get('https://accounts.spotify.com/authorize', params=code_params, headers=headers).json()
【问题讨论】:
-
206 不是错误,本身但是当客户端请求一个范围时,返回代码表明部分内容可能会从服务器发送。用于分段下载数据(尤其是大内容)
-
响应码是206,但是json响应是{'error': 'server_error'}
-
该请求正在获取一个网站;不是 json 对象。 Authorization Code Flow 比您的代码更复杂。此外,标头应为
headers = {"Content-Type": "application/x-www-form-urlencoded"}。因为它返回的是 html 代码,而不是 json,所以 json() 会导致错误。请参阅:打印(代码。文本)
标签: python python-3.x python-requests spotify spotify-app