我正在嘗試將曲目添加到我的一個 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]
添加回答
舉報
0/150
提交
取消