2

是否可以通过服务器端功能操作(添加到)Spotify 播放列表?

Web API 似乎仅限于搜索(https://developer.spotify.com/technologies/web-api/),而具有该功能的 JavaScript API 参考似乎仅限于在 Spotify 本身内部构建应用程序......

4

2 回答 2

1

是的,您可以,但是您需要一个涉及用户的授权过程,这非常痛苦。

您需要使用正确的 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。

这是需要授权过程的地方,如果您想绕过刷新限制,它会变得复杂。

于 2018-01-27T10:46:29.790 回答
0

不幸的是,如果不使用 JS API 在客户端内部构建 Spotify 应用程序或使用 libSpotify 构建独立应用程序,目前这是不可能的。

于 2012-05-24T07:57:05.030 回答