Spotipy调用show_episodes函数遭遇404错误,请求技术支持
解决Spotipy调用
sp.show_episodes返回404的问题 核心问题:缺失market参数
Spotify的播客剧集接口(/shows/{id}/episodes)要求必须指定market参数,否则会因版权区域限制返回404——即使搜索时已经指定了market,单独调用剧集接口时仍需再次传入。你的代码里调用sp.show_episodes时没有传递该参数,这是导致错误的主要原因。
修复步骤
在
sp.show_episodes中添加market参数
直接复用搜索时使用的market变量即可:episodes = sp.show_episodes(podcast['uri'], limit=1, market=market)验证ID/URI格式(可选)
确认传入的标识格式正确,两种格式Spotipy都支持:- 纯节目ID:
2snXKBKP3rXeb9x6XquWmW - 完整URI:
spotify:show:2snXKBKP3rXeb9x6XquWmW
- 纯节目ID:
检查API权限(可选)
确保你的Spotify应用已启用user-read-playback-position或podcast-read类权限(若搜索功能正常,权限大概率无问题)。
修改后的代码片段
# Get episode duration for each podcast for podcast in podcasts: # 添加market参数 episodes = sp.show_episodes(podcast['uri'], limit=1, market=market) if episodes['items']: episode_duration = episodes['items'][0]['duration_ms'] podcast['episode_duration'] = episode_duration / 1000 else: podcast['episode_duration'] = None
内容的提问来源于stack exchange,提问作者Elad Weinstein
相关产品推荐
相关产品推荐

