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

Spotipy重复要求粘贴重定向URL问题求助

解决Spotipy重复授权的问题

你的问题核心是没有配置token缓存机制,导致每次调用API都重新触发授权流程。Spotipy的SpotifyOAuth默认支持token本地缓存,只需添加一个参数就能实现一次授权后无交互运行。

解决步骤

1. 添加缓存路径参数

初始化SpotifyOAuth时,指定cache_path参数,让授权后的token保存到本地文件中。后续运行程序会自动读取缓存的token,无需重复授权。

修改后的代码:

import spotipy
from spotipy.oauth2 import SpotifyOAuth
from pprint import pprint
from time import sleep

scope = "user-read-playback-state,user-modify-playback-state"
# 添加cache_path参数,指定token缓存文件路径
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(
    scope=scope,
    cache_path=".cache"  # 缓存文件会保存在当前目录下的.cache文件中
))

# Shows playing devices
res = sp.devices()
pprint(res)

# Change track
sp.start_playback(uris=['spotify:track:6gdLoMygLsgktydTQ71b15'])

# Change volume
sp.volume(100)
sleep(2)
sp.volume(50)
sleep(2)
sp.volume(100)

2. 第一次授权后自动复用缓存

  • 第一次运行代码时,仍然需要完成浏览器授权流程(粘贴URL到终端),这是唯一一次交互。
  • 授权完成后,当前目录会生成.cache文件,后续运行程序会自动读取该文件中的token,无需再打开浏览器或手动输入。

3. 额外注意事项

  • 确保你的Redirect_URI和Spotify开发者后台中应用设置的完全一致,否则缓存的token会失效。
  • 如果需要更换账号或重置授权,直接删除.cache文件即可重新触发授权流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 06:55:05