如何使用客户端ID和密钥访问Spotify的Web api?



我正在尝试编写一个脚本,从头开始在我的 Spotify 帐户上创建一个播放列表,而不是使用像 spotipy 这样的模块。

我的问题是如何使用请求模块使用我的客户端 ID 和客户端密钥进行身份验证,或者使用这些凭据获取访问令牌?

尝试此完整的客户端凭据授权流。

第一步 – 获取包含凭据的授权令牌:

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)

正如此处引用的那样,您必须将持有者令牌提供给授权标头,并且使用请求是通过声明可选"标头"来完成的:

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

有关如何获取用户的持有者令牌的详细信息,请参阅此处

最新更新