python - Spotipy client_credential_manager 未提供令牌
问题描述
我正在尝试将 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"
}
}
我知道您需要获得某些操作的权限,但我认为客户端凭据管理器会为我处理权限。
如何使此代码工作?使用客户端凭据管理器授予我什么权限?
解决方案
即使您尝试访问作为 Spotify 集成开发者的 Spotify 帐户,您也无法仅使用客户端 ID 和密码访问特定于用户的信息。您可以访问提供公共信息的端点,例如艺术家和曲目信息。
如果要访问特定于用户的数据,则需要通过授权代码流来获取您提供给Spotify
客户端对象的访问令牌。
推荐阅读
- java - java.lang.UnsupportedOperationException:com.my.project.dialect.CustomH2Dialect 不支持通过存储过程的结果集
- typescript-typings - 在打字稿中定义对象的类型
- flutter - 在 HERE Flutter SDK 上使用导航时运行时崩溃
- python - 在 django 中上传图像时“无法从 * 派生文件名”
- javascript - 如何在访问 Vue Store 状态之前等待操作完成?
- ffmpeg - 有没有办法使用 ffmpeg 将视频的所有帧“压缩”到恒定的帧速率?
- qml - QML(KDE Plasmoid):无法让无缝滚动文本相应地循环
- php - Drupal:段落内的自定义字段
- python - 提取熊猫列中每个单词的第一个字符串
- rabbitmq - 在 MassTransit 中以 SingleActiveConsumer 模式将消息发送到队列