Spotify API authorization code flow error: "grant_type parameter is missing" (Python)
Spotify API authorization code flow error: "grant_type parameter is missing" (Python)
我正在关注 the docs 使用授权代码流程连接到 Spotify。我可以获得授权码,但不能使用它来获取访问令牌。我不断收到的错误是
{'error': 'unsupported_grant_type', 'error_description': 'grant_type parameter is missing'}
这是我在回调函数中的代码:
from requests import post
client_creds = f'{CLIENT_ID}:{CLIENT_SECRET}'
client_creds_64 = base64.b64encode(client_creds.encode())
token_data = {
'grant-type': 'authorization_code',
'code': code,
'redirect_uri': REDIRECT_URI #currently on localhost and whitelisted on Spotify
}
token_header = {
'Authorization': f'Basic {client_creds_64.decode()}',
'Content-Type': 'application/x-www-form-urlencoded'
}
response = post('https://accounts.spotify.com/api/token', data=token_data, headers=token_header)
如果我使用客户端凭证流并替换 token_data:
,我可以使 post 请求工作
token_data = {
'grant_type': 'client_credentials'
}
知道为什么授权代码流程不起作用吗?不要认为我在 token_data...
中缺少参数
在grant_type
中有类型错误:
token_data = {
'grant_type': 'authorization_code',
'code': code,
'redirect_uri': REDIRECT_URI #currently on localhost and whitelisted on Spotify
}
我正在关注 the docs 使用授权代码流程连接到 Spotify。我可以获得授权码,但不能使用它来获取访问令牌。我不断收到的错误是
{'error': 'unsupported_grant_type', 'error_description': 'grant_type parameter is missing'}
这是我在回调函数中的代码:
from requests import post
client_creds = f'{CLIENT_ID}:{CLIENT_SECRET}'
client_creds_64 = base64.b64encode(client_creds.encode())
token_data = {
'grant-type': 'authorization_code',
'code': code,
'redirect_uri': REDIRECT_URI #currently on localhost and whitelisted on Spotify
}
token_header = {
'Authorization': f'Basic {client_creds_64.decode()}',
'Content-Type': 'application/x-www-form-urlencoded'
}
response = post('https://accounts.spotify.com/api/token', data=token_data, headers=token_header)
如果我使用客户端凭证流并替换 token_data:
,我可以使 post 请求工作token_data = {
'grant_type': 'client_credentials'
}
知道为什么授权代码流程不起作用吗?不要认为我在 token_data...
中缺少参数在grant_type
中有类型错误:
token_data = {
'grant_type': 'authorization_code',
'code': code,
'redirect_uri': REDIRECT_URI #currently on localhost and whitelisted on Spotify
}