Я пытаюсь удалить песню из плейлиста 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
.
Ниже приведен пример, который работает, но он из примеров Spotify, которые работают с curl
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"
Есть ли способ заставить это работать?