You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spotipy Client Credentials认证异常:无法获取公开播放列表曲目

问题解决:Spotipy Client Credentials认证失效及HTTP 400错误

核心错误点分析

  1. 认证代码语法错误
    原代码中SpotifyClientCredentials的参数client_secret-secret误用减号-替代赋值符号=,这会导致Python解析错误,直接使认证管理器初始化失败,后续API调用自然无响应。

  2. Token认证方式的误用
    手动调用get_access_token(cid)是错误操作,该方法无需传入cid参数,且Spotipy的client_credentials_manager会自动处理token的获取与刷新,手动干预容易导致Bearer token格式错误,触发HTTP 400提示。

修正后的完整代码

1. 正确的Client Credentials认证初始化

import spotipy
from spotipy.oauth2 import SpotifyClientCredentials

# 替换为你的真实CID和Client Secret
cid = "YOUR_CLIENT_ID"
secret = "YOUR_CLIENT_SECRET"

# 修正参数赋值错误,移除不必要的requests_session参数(默认配置即可)
client_credentials_manager = SpotifyClientCredentials(client_id=cid, client_secret=secret)
sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager)

2. 完整获取播放列表曲目(含分页处理)

def fetch_all_playlist_tracks(playlist_link):
    # 从播放链接中提取ID(兼容网页链接和APP分享链接格式)
    playlist_id = playlist_link.split("/")[-1].split("?")[0]
    response = sp.playlist_tracks(playlist_id)
    track_items = response['items']
    
    # 处理分页,获取所有曲目(默认单次返回20条数据)
    while response['next']:
        response = sp.next(response)
        track_items.extend(response['items'])
    
    return track_items

try:
    print('getting in here')
    playlist_link = "YOUR_PUBLIC_PLAYLIST_LINK"
    all_tracks = fetch_all_playlist_tracks(playlist_link)
    
    # 示例:打印曲目名称和对应歌手
    for track in all_tracks:
        track_info = track['track']
        print(f"{track_info['name']} - {track_info['artists'][0]['name']}")
except Exception as e:
    print(f"错误详情: {str(e)}")

额外注意事项

  • 确保播放列表为公开状态:Client Credentials模式仅能访问公开数据,私有播放列表需使用Authorization Code Flow认证方式。
  • 检查开发者应用状态:确认Spotify开发者后台的应用未被禁用,且CID/Secret未泄露或过期。
  • 网络超时处理:若仍存在无响应问题,可在初始化Spotify对象时添加超时参数:sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager, requests_timeout=15)

内容的提问来源于stack exchange,提问作者Valerie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 07:52:39