Last Updated or created 2023-06-08
For usage in this project:
Goto https://developers.spotify.com and add a APP

Write down the Client_id Client_secret and Redirect URL (callback)
Create a bash and python script
#!/bin/bash export SPOTIPY_CLIENT_ID=2f660e11e70743febdxxxxxxxxxxxxx export SPOTIPY_CLIENT_SECRET=b0741452a4fe43xxxxxxxxxxxxx export SPOTIPY_REDIRECT_URI="http://localhost:8080/callback" python3 spot.py $1
spot.py
import spotipy
from spotipy.oauth2 import SpotifyOAuth
from pprint import pprint
from time import sleep
import spotipy.util as util
import sys
username = "username"
scope = "user-read-playback-state,user-modify-playback-state,playlist-read-private"
util.prompt_for_user_token(username,scope,client_id=SPOTIPY_CLIENT_ID,client_secret=SPOTIPY_CLIENT_SECRET,redirect_uri=SPOTIPY_REDIRECT_URI)
sp = spotipy.Spotify(client_credentials_manager=SpotifyOAuth(scope=scope))
# Shows playing devices
res = sp.devices()
pprint(res)
myurl = 'spotify:playlist:' + sys.argv[1]
# Change track
results = sp.start_playback(context_uri=myurl, offset={"position": 1})
## Change volume example
#sp.volume(100)
#sleep(2)
#sp.volume(50)
#sleep(2)
playlists = sp.user_playlists(username)
playlists = sp.current_user_playlists()
for playlist in playlists['items']:
print(playlist['id'] + ' ' + playlist['name'])
Run bash script as follows.
playlistplayspotify.sh 0bJvpsn0TDxxxxxxxxxxxx
(0bJvpsn0TDxxxxxxxxxxxx – is playlist ID, as example below)
OUTPUT:
python3 spot.py 0bJvpsn0TDxxxxxxxxxxxx
{'devices': [{'id': 'e86eada2a91e29a396acxxxxxxxxxxxxxxxxxxxx',
'is_active': True,
'is_private_session': False,
'is_restricted': False,
'name': 'laptop',
'type': 'Computer',
'volume_percent': 100},
{'id': '8571468b6c41973ccb0axxxxxxxxxxxxxxxxxxxx',
'is_active': False,
'is_private_session': False,
'is_restricted': False,
'name': 'DESKTOP-xxxxxxx',
'type': 'Computer',
'volume_percent': 76},
{'id': '6c592503aa5a22b2fbdxxxxxxxxxxxxxxxxxxxxxx',
'is_active': False,
'is_private_session': False,
'is_restricted': False,
'name': 'TX-NR1030',
'type': 'AVR',
'volume_percent': 41}]}
0bJvpsn0TDxxxxxxxxxxxx Best Classical Music Of All Time
5aL9jeGMCAxxxxxxxxxxxx Programming music
37i9dQZEVCxxxxxxxxxxxx Discover Weekly
6pEJuA1UYJxxxxxxxxxxxx Highland/Small/Border Pipe Music
5p8Tabf5Zwxxxxxxxxxxxx Folk Instrumentals ( Celtic, Irish, Nordic, ... )
1oy8Ek4ddBxxxxxxxxxxxx Lounge
37i9dQZF1Dxxxxxxxxxxxx Irish Folk
etc etc