如何使用Python从Spotify删除曲目

问题描述 投票:0回答:2

我正在尝试使用 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"

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

python api curl python-requests spotify
2个回答
1
投票

刚刚开始工作。对于任何在将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)

0
投票

我也在尝试做一个类似的项目。如果可以的话,您能帮忙一下代码和工作流程吗?

© www.soinside.com 2019 - 2024. All rights reserved.