使用Spotipy创建私有播放列表,指定playlist-modify-private仍遇403错误
解决Spotipy创建私有播放列表的403 Forbidden错误
错误信息翻译
向https://api.spotify.com/v1/users/USER_ID/playlists发送POST请求时返回HTTP错误403 Forbidden,参数:{}
可行解决方案
清除本地授权缓存
Spotipy会将授权信息存在本地缓存文件(通常命名为.cache-<用户名>),若之前授权的权限范围残留或不完整,会导致新权限不生效。直接删除该缓存文件,重新运行脚本完成授权流程。确保USER_ID正确
代码中硬编码的USER_ID必须是你的Spotify用户ID(不是用户名),可通过调用API获取正确ID替换:
import spotipy from spotipy.oauth2 import SpotifyOAuth scope = "playlist-modify-private" sp = spotipy.Spotify(auth_manager=SpotifyOAuth(scope=scope)) # 获取当前用户的正确ID user_id = sp.current_user()['id'] sp.user_playlist_create(user=user_id, name="New Private Playlist", public=False)
核对开发者后台的应用设置
登录Spotify开发者后台,找到你的应用:- 确认重定向URI与代码中SpotifyOAuth使用的一致(未指定时默认是
http://localhost:8080/); - 若应用处于未发布状态,尝试将其标记为“已发布”(部分场景下未发布应用会有权限限制)。
- 确认重定向URI与代码中SpotifyOAuth使用的一致(未指定时默认是
显式指定重定向URI参数
隐式使用默认重定向URI可能引发授权异常,显式指定与后台一致的地址:
sp = spotipy.Spotify(auth_manager=SpotifyOAuth( scope=scope, redirect_uri="http://localhost:8080/" ))
内容的提问来源于stack exchange,提问作者Adediran Adeyosola
相关产品推荐
相关产品推荐

