为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Spotipy 将曲目添加到播放列表时出现多个错误

使用 Spotipy 将曲目添加到播放列表时出现多个错误

蝴蝶刀刀 2022-12-14 20:47:17
我正在尝试将曲目添加到我的一个 Spotify 播放列表中,而且我很确定我的所有代码都完全正确,如 Spotipy 文档中所述:username = '*myusername*'scope = 'playlist-modify-public'playlist_id = '*myplaylistid*'track_ids = *array of track ids*token = util.prompt_for_user_token(username,                           scope,                           client_id='*myclientid*',                           client_secret='*mysecretclientid*',                           redirect_uri='http://localhost:8888/callback/')spotify = spotipy.Spotify(auth=token)results = spotify.user_playlist_add_tracks(username, playlist_id, track_ids)但是,这些是以下错误,无论我尝试什么,我都会收到两个错误:HTTPError: 400 Client Error: Bad Request for url: https://api.spotify.com/v1/users/*myusername*/playlists/*myplaylist*/tracksDuring handling of the above exception, another exception occurred:SpotifyException: http status: 400, code:-1 - https://api.spotify.com/v1/users/*myusername*/playlists/*myplaylist*/tracks: Invalid track uri: spotify:track:*trackid*它指定了无效的曲目 uri,但是对于我列表中的每个曲目,我都通过在 Spotify 中搜索 uri 进行了测试,它确实有效。我尝试过但无济于事的解决方案:1. 在播放列表和曲目列表的 ID 和 URI 之间更改2. 使用 OAuth 进行身份验证3. 使用不同的播放列表和曲目4. 使用不同的 redirect_uri5 个示例轨道 URI 供参考:spotify:track:1rdHsnsGmleo6MRctkkFmm?si=7R0IKQ9xTgiwfLAJO7eFCwspotify:track:70CMnzQ3FjMmUk5NPdQJBe?si=qL_WwgWVRTaSZ2oOBg2eCAspotify:track:6bbx7nYlixYuElKMbYCzMm?si=Wu64S-obRaOOh3mFP3zWwAspotify:track:6DZNQKNUskiWVSXs3cQPk3?si=SIW3hBU1SiWd_h1gpXwijgspotify:track:2FMPIU8FdP9kCi5kUCSGnE?si=jtJOkQhsSF6GoD3otgtV3A将不胜感激任何帮助!谢谢
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

轨道 URI 不应包含?si=但仅包含之前的内容。请参阅https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids

您可以修复代码以仅保留第一部分:

track_uris = [uri.split("?si=")[0] for uri in track_uris]


查看完整回答
反对 回复 2022-12-14
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号