是否可以通过服务器端功能操作(添加到)Spotify 播放列表?
Web API 似乎仅限于搜索(https://developer.spotify.com/technologies/web-api/),而具有该功能的 JavaScript API 参考似乎仅限于在 Spotify 本身内部构建应用程序......
是的,您可以,但是您需要一个涉及用户的授权过程,这非常痛苦。
您需要使用正确的 API。
来源: https ://developer.spotify.com/web-api/console/playlists/
例如,要添加曲目,您将需要此端点
https://api.spotify.com/v1/users/{user_id}/playlists/{playlist_id}/tracks _
这段代码适用于 AppleScript,只是为了证明这个概念:
set userID to "XXXXX"
-- your userID can be retrieved with https://developer.spotify.com/web-api/console/get-current-user/#complete
set SelectedPlaylistID to "YYYY"
-- your target playlist can be retrieved with https://developer.spotify.com/web-api/console/get-playlists/#complete
set BearerID to "ZZZZ"
-- ZZZZ can be retrieved manually on page https://developer.spotify.com/web-api/console/post-playlist-tracks/
tell application "Spotify"
set currentSpotifyID to id of current track as string
end tell
set currentlyPlayingTrack to trim_line(currentSpotifyID, "spotify:track:", 0)
set theURL to "'https://api.spotify.com/v1/users/" & userID & "/playlists/" & SelectedPlaylistID & "/tracks?uris=spotify%3Atrack%3A" & currentlyPlayingTrack & "' -H 'Accept: application/json' -H 'Authorization: Bearer " & BearerID & "'"
-- obtenu de https://developer.spotify.com/web-api/console/post-playlist-tracks/#complete
set theCommand to "curl -X POST " & theURL
do shell script theCommand
但是有一个很大的警告:您需要每小时刷新一次 BearerID。
这是需要授权过程的地方,如果您想绕过刷新限制,它会变得复杂。
不幸的是,如果不使用 JS API 在客户端内部构建 Spotify 应用程序或使用 libSpotify 构建独立应用程序,目前这是不可能的。