首页 > 解决方案 > Spotipy client_credential_manager 未提供令牌

问题描述

我正在尝试将 Spotify API 与spotipy.pypython 模块一起使用。我在几个地方看到了一个具体的例子,每个人都说它有效。这是代码:

CLIENT_ID = '3de0e551d7ad4f53928abdef515150ed'
CLIENT_SECRET = '6c77d106a8e843508bc7569f9a0f8397'
USER = 'd03ueir6zw7k1dyywjc97fee2?si=GVU-LsDRTg2vL5KPMTbfJg'

client_credentials_manager = SpotifyClientCredentials(client_id=CLIENT_ID,
                                                      client_secret=CLIENT_SECRET)
sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager)
sp.trace = False

plists = sp.user_playlists(USER)

print(plists)

当然,在原始代码中,我输入了我的真实客户 ID 和密码。

但是,当我运行此代码时,我会收到一个 API 响应,上面写着“未提供令牌”。

{
  "error": {
    "status": 401,
    "message": "No token provided"
  }
}

我知道您需要获得某些操作的权限,但我认为客户端凭据管理器会为我处理权限。

如何使此代码工作?使用客户端凭据管理器授予我什么权限?

标签: pythontokenspotifyspotipy

解决方案


即使您尝试访问作为 Spotify 集成开发者的 Spotify 帐户,您也无法仅使用客户端 ID 和密码访问特定于用户的信息。您可以访问提供公共信息的端点,例如艺术家和曲目信息。

如果要访问特定于用户的数据,则需要通过授权代码流来获取您提供给Spotify客户端对象的访问令牌。

关于授权代码流的 Spotipy 文档


推荐阅读