如何使用客户端ID和Python中的秘密访问Spotify的Web API

时间:2019-04-30 18:45:11

标签: python authorization spotify

im试图编写脚本,从头开始在python的Spotify帐户上创建播放列表,而不使用 spotipy 之类的模块。 我的问题是如何使用 requests 模块使用我的客户端ID和客户端密钥进行身份验证,或使用这些凭据获取访问令牌

2 个答案:

答案 0 :(得分:0)

由于引用为here,因此您必须将Bearer令牌提供给Authorization标头,并通过声明“ headers”可选来完成使用请求:

r = requests.post(url="https://api.spotify.com/v1/users/{your-user}/playlists", 
                  headers={"Authorization": <token>, ...})

有关如何获取用户的Bearer令牌的详细信息,请参见here

答案 1 :(得分:0)

尝试完整的“客户端证书授权”流程。

第一步–使用您的凭据获取授权令牌:

CLIENT_ID = " < your client id here... > "
CLIENT_SECRET = " < your client secret here... > "

grant_type = 'client_credentials'
body_params = {'grant_type' : grant_type}

url='https://accounts.spotify.com/api/token'
response = requests.post(url, data=body_params, auth = (CLIENT_ID, CLIENT_SECRET)) 

token_raw = json.loads(response.text)
token = token_raw["access_token"]

第二步–向任何播放列表端点发出请求。确保为<spotify_user>设置一个有效值。

headers = {"Authorization": "Bearer {}".format(token)}
r = requests.get(url="https://api.spotify.com/v1/users/<spotify_user>/playlists", headers=headers)
print(r.text)