I think something like this still works with a client id, secret, and a playlist:
TOKEN=$(curl --basic --user $ID:$SECRET -X POST -d grant_type=client_credentials https://accounts.spotify.com/api/token | jq -r .access_token)
curl -H "Authorization: Bearer $TOKEN" https://api.spotify.com/v1/playlists/$PLAYLIST/tracks | tee playlist-$PLAYLIST.json | jq -rc '.items[].track | "\(.artists[0].name) -- \(.name)"' | sort