Spotipy client_credential_manager 未提供令牌

Posted

技术标签:

【中文标题】Spotipy client_credential_manager 未提供令牌【英文标题】:Spotipy client_credential_manager no token provided 【发布时间】:2019-06-23 11:36:23 【问题描述】:

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

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"
  

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

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

【问题讨论】:

【参考方案1】:

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

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

Spotipy docs about authorization code flow

【讨论】:

以上是关于Spotipy client_credential_manager 未提供令牌的主要内容,如果未能解决你的问题,请参考以下文章

Spotipy 尝试使用 oauth 进行验证

将多个范围与 spotipy 一起使用

如何使用 Spotipy 获取 Spotify 的曲目时长

Spotipy 使用授权代码流刷新令牌

无法在 Spotipy 中获取新令牌

spotipy授权代码流程