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

Oracle Linux终端获取Spotipy重定向URL及OAuth问题求助

解决方案

一、解决Spotipy无浏览器授权问题

方案1:本地生成缓存文件传到虚拟机

  • 在有浏览器的本地电脑上,安装同版本的spotipy,配置和虚拟机完全一致的client_id、client_secret、redirect_uri(必须和Spotify开发者控制台设置的一致)
  • 运行脚本触发授权流程,完成后本地用户目录会生成.cache文件
  • 将该.cache文件通过scp或其他方式传到Oracle Linux虚拟机的用户主目录下,脚本再次运行时会自动读取缓存,无需重复授权

方案2:手动获取授权code完成认证

  • 在本地浏览器构造并打开授权URL,替换成你的实际参数:
    https://accounts.spotify.com/authorize?client_id=你的CLIENT_ID&response_type=code&redirect_uri=你的REDIRECT_URI&scope=脚本所需权限
    
    (scope要和脚本中定义的一致,比如user-read-private user-top-read,多个权限用空格分隔)
  • 授权成功后,浏览器会跳转到你设置的redirect_uri,URL中会携带code参数(格式如https://example.com/?code=abc123xyz),复制这个code值
  • 修改虚拟机上的脚本,手动传入code获取token:
    import spotipy
    from spotipy.oauth2 import SpotifyOAuth
    
    # 替换为你的实际参数
    sp_oauth = SpotifyOAuth(
        client_id="你的CLIENT_ID",
        client_secret="你的CLIENT_SECRET",
        redirect_uri="你的REDIRECT_URI",
        scope="脚本所需权限"
    )
    
    code = input("输入获取到的授权code: ")
    token_info = sp_oauth.get_access_token(code)
    sp = spotipy.Spotify(auth=token_info['access_token'])
    
    # 原有脚本逻辑继续执行
    
    执行后会自动生成缓存文件,后续运行无需再输入code

二、解决tcpflow安装失败问题

Oracle Linux 8默认软件源不包含tcpflow,需先启用EPEL源:

  1. 安装EPEL源:
    sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    
  2. 安装tcpflow:
    sudo dnf install tcpflow
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:01:11