使用Python调用Spotify API添加歌曲到队列时提示uri参数缺失错误
解决Spotify API添加播放队列400错误('required parameter uri missing')
问题核心:Spotify的/me/player/queue接口要求uri作为URL查询参数传递,而非JSON请求体。你当前用json={...}传递参数的方式不符合API规范,导致参数未被识别。
修改后的代码:
import requests SPOTIFY_QUE_SONG_URL = 'https://api.spotify.com/v1/me/player/queue' ACCESS_TOKEN = 'insert_generated_token' def que_song(song): response = requests.post( SPOTIFY_QUE_SONG_URL, headers={ "Authorization": f"Bearer {ACCESS_TOKEN}" }, params={ # 将json替换为params,传递查询参数 "uri": song } ) # 接口成功时返回204 No Content,无JSON响应,需特殊处理 if response.status_code == 204: return "歌曲已成功加入播放队列" else: return response.json() def main(): result = que_song(song="spotify:track:12hVQgYR254ZziANtiKVWQ") print(f"操作结果: {result}") if __name__ == '__main__': main()
额外注意事项:
- 确保你的ACCESS_TOKEN已申请
user-modify-playback-state权限,这是调用该接口的必要权限,缺失会返回403错误。 - 若仍报错,检查
song参数格式是否为标准Spotify URI(如spotify:track:xxx),格式错误也会触发参数缺失提示。
内容的提问来源于stack exchange,提问作者Quinn C.
相关产品推荐
相关产品推荐

