Я пытаюсь настроить скрипт, который запускает воспроизведение spotify при выборе этой опции через простое меню в терминале.
Дело в том, что я хочу, чтобы этот сценарий был динамическим, мне нужно ввести имя пользователя, и при перенаправлении на страницу веб-авторизации spotify запрашивать логин и пароль, а не запрашивать принятие сценария python.
Пока у меня есть этот код:
import sys
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials
import json
import os
import spotipy.util as util
from json.decoder import JSONDecodeError
os.environ['SPOTIPY_CLIENT_ID'] = 'b0g0000Myclientid000000'
os.environ['SPOTIPY_CLIENT_SECRET'] = 'b0g0000Myclientsecret000000'
os.environ['SPOTIPY_REDIRECT_URI'] = 'https://google.com/'
# Get the spotify username from the terminal
username = sys.argv[1]
scope = 'user-read-private user-read-email user-read-playback-state user-modify-playback-state'
try:
token = util.prompt_for_user_token(username, scope)
except:
os.remove(f".cache-{username}")
token = util.prompt_for_user_token(username, scope)
# Creation of the spotify object
sp = spotipy.Spotify(auth=token)
user = sp.current_user()
try:
devices = sp.devices()
deviceID = devices['devices'][0]['id']
except:
print("No devices found...")
print(json.dumps(devices, sort_keys=True, indent=4))
playback = sp.current_user_playing_track()
if playback != None:
current_artist = playback['item']['artists'][0]['name']
current_track_name = playback['item']['name']
print('************** Currently playing : ************** \n Artist: ' + current_artist + '\n Track name: ' + current_track_name)
track = sp.search(playback, 1, 0, 'track')
# print(json.dumps(track, sort_keys=True, indent=4))
# For testing purposes : print(json.dumps(playback, sort_keys=True, indent=4))
while True:
print("\n\nWhat to do ?\n- Play spotify [0]:\n- Play a specific song [1]:\n- Quit [q]")
menu_answer = input()
if menu_answer == '0':
is_playing = playback['is_playing']
if is_playing == False:
sp.start_playback()
print("Started playing the playback (Current song: " + current_track_name + " by " + current_artist + ")")
else:
print("Already playing ;)")
elif menu_answer == '1':
print("we will play a song")
elif menu_answer == 'q':
break
else:
pass
Помощь очень ценится!