如何使用 Python 从 Spotify 中删除曲目

How to delete tracks from Spotify using Python

我正在尝试使用 Spotify API 从 Spotify 播放列表中删除一首歌曲,但它似乎不起作用。下面是我的代码片段

headers = {'Accept': 'application/json',
           'Authorization' :'Bearer '+access,
          'Content-Type': 'application/json'}
params={"tracks":
                {"uri":
                       ["spotify:track:2goLsvvODILDzeeiT4dAoR"]
                }
       }
remove=requests.delete("https://api.spotify.com/v1/playlists/55J330mslu8XwOUXef77Qw/tracks",headers=headers,params=params)

我收到一个 404 错误 print(remove.json()) 给出 {'error': {'status': 400, 'message': 'Missing tracks'}}

print(remove.url) 给出 https://api.spotify.com/v1/playlists/55J330mslu8XwOUXef77Qw/tracks?tracks=uri 由于某种原因似乎不完整。

删除端点似乎在他们的在线测试控制台上工作,但他们使用 curl 并且他们必须转义 params 数组中的引号。我尝试转义 python 中的引号,但出现错误 SyntaxError: unexpected character after line continuation character

下面是一个有效的示例,但它来自与 curl 一起使用的 Spotify 示例

curl -X "DELETE" "https://api.spotify.com/v1/playlists//tracks" --data "{\"tracks\":[{\"uri\":\"spotify:track:2DB2zVP1LVu6jjyrvqD44z\",\"positions\":[0]},{\"uri\":\"spotify:track:5ejwTEOCsaDEjvhZTcU6lg\",\"positions\":[1]}]}" -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer BQDqsVD6LMUcgDXfe8F0gupyYlqjRbIqjuJKfzfoUBL5DvA22YS2tp0-ksyFmI0YDCHgc0WZN664vNc5ZwMjm3xvJV--BiTnwn7Oki6IDIRXeWjQsIK8iNkd8PASuY4zBUxk37F2aZv29_Kg23cvNmCi5aABb5gVO2OjpjQhGwMr16Clie4qymoYoXH7PB9J3-ShZ8DzWG1y5r0GETwgi9Jj0q3A3B7KY3Xw6VnERIfQSXRw8SdkpdSpSMfPKBt4utCPXIOt2198Kw"

有什么方法可以让它工作吗?

刚刚开始工作。对于无法将 curl 翻译成 python 代码的任何人,请访问此转换网站 https://curl.trillworks.com

我的代码结束如下,现在一切正常:

params='{"tracks":[{"uri":"spotify:track:1snNAXmmPXCn0dkF9DaPWw"}]}'

remove=requests.delete("https://api.spotify.com/v1/playlists/55J330mslu8XwOUXef77Qw/tracks",headers=headers,data=params)