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

Spotipy的current_user_playlists()函数无法执行请求求助

排查思路
  • 设置请求超时,捕获异常
    给current_user_playlists()添加超时参数,强制终止卡住的请求并抛出异常,确认是否是请求超时导致的无响应:

    sp.current_user_playlists(timeout=10)  # 设置10秒超时
    
  • 验证Access Token有效性

    • 打印当前token的expires_at字段,确认未过期;
    • 手动使用该token调用Spotify的/me/playlists端点(用curl或Postman),检查是否能正常返回数据;
    • 确认token刷新时的redirect_uri和授权时完全一致,避免刷新失败导致无效token。
  • 限制返回数据量,排除分页阻塞
    如果用户播放列表数量过多,Spotipy的自动分页逻辑可能出现阻塞,尝试限制返回数量:

    sp.current_user_playlists(limit=10)
    

    若能正常返回,再逐步调整limit值,排查是否是大量数据处理导致的问题。

  • 检查Spotipy版本兼容性
    回退到之前能正常运行的Spotipy版本,排查是否是新版本引入的bug:

    pip install spotipy==<历史可用版本号>
    
  • 开启调试日志,对比请求细节
    开启Spotipy的调试日志,查看请求的头信息、URL、参数,和直接调用API的请求做对比,确认是否存在请求构建错误:

    import logging
    logging.basicConfig(level=logging.DEBUG)
    
  • 修正Scope格式
    你的Scope中使用了逗号分隔,而Spotify官方要求Scope用空格分隔,虽然之前正常,但可能权限验证逻辑有更新,尝试修正格式:

    SpotifyOAuth(
        client_id=client_id,
        client_secret=client_secret,
        redirect_uri=url_for('redirect_page', _external=True),
        scope='user-read-playback-state user-modify-playback-state user-read-currently-playing playlist-read-collaborative playlist-read-private user-library-read playlist-modify-private playlist-modify-public'
    )
    
  • 排查服务器网络环境
    在服务器上用curl测试直接调用API端点,确认网络能正常访问Spotify服务:

    curl -H "Authorization: Bearer <你的Access Token>" https://api.spotify.com/v1/me/playlists
    

    排除防火墙、代理等网络因素导致的请求无法到达或响应被拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 00:22:33