creazione primi endpoint
This commit is contained in:
parent
51f507811c
commit
564a2a4b9a
2 changed files with 34 additions and 2 deletions
|
@ -49,9 +49,13 @@ class SessionData():
|
||||||
|
|
||||||
except requests.exceptions.RequestException as e:
|
except requests.exceptions.RequestException as e:
|
||||||
print(f"Errore durante il refresh del token: {e}")
|
print(f"Errore durante il refresh del token: {e}")
|
||||||
|
raise e
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def access_tokens(self):
|
def access_tokens(self):
|
||||||
|
if self.nearly_expired():
|
||||||
|
self.refresh()
|
||||||
|
|
||||||
return self.__access_token
|
return self.__access_token
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ SPOTIFY_CLIENT_SECRET = os.getenv("SPOTIFY_CLIENT_SECRET")
|
||||||
SPOTIFY_REDIRECT_URI = os.getenv("HOST") + "/music/callback"
|
SPOTIFY_REDIRECT_URI = os.getenv("HOST") + "/music/callback"
|
||||||
SPOTIFY_AUTH_URL = "https://accounts.spotify.com/authorize"
|
SPOTIFY_AUTH_URL = "https://accounts.spotify.com/authorize"
|
||||||
SPOTIFY_TOKEN_URL = "https://accounts.spotify.com/api/token"
|
SPOTIFY_TOKEN_URL = "https://accounts.spotify.com/api/token"
|
||||||
SPOTIFY_PLAY_URL = "https://api.spotify.com/v1/me/player/play"
|
SPOTIFY_PLAY_URL = "https://api.spotify.com/v1/"
|
||||||
|
|
||||||
# Step 1: Redirect user to Spotify login
|
# Step 1: Redirect user to Spotify login
|
||||||
@music_router.get("/login")
|
@music_router.get("/login")
|
||||||
|
@ -48,4 +48,32 @@ def callback(code: str):
|
||||||
|
|
||||||
@music_router.get("/search")
|
@music_router.get("/search")
|
||||||
def search(query: str):
|
def search(query: str):
|
||||||
pass
|
try:
|
||||||
|
url = SPOTIFY_PLAY_URL + f"search?q={query}&type={["track"]}"
|
||||||
|
header = {
|
||||||
|
"Authorization": "Bearer " + SessionManager.instance().get_current_session().access_tokens,
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
return requests.get(url, headers=header)
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
|
|
||||||
|
@music_router.get("/play")
|
||||||
|
def play(song_id: str):
|
||||||
|
url = SPOTIFY_PLAY_URL + "me/player/play"
|
||||||
|
body = { "uris": [f"spotify:track:{song_id}"] }
|
||||||
|
header = {
|
||||||
|
"Authorization": "Bearer " + SessionManager.instance().get_current_session().access_tokens,
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
requests.put(url, data=body, headers=header)
|
||||||
|
|
||||||
|
@music_router.get("/current-song")
|
||||||
|
def current_song():
|
||||||
|
url = SPOTIFY_PLAY_URL + f"me/player/currently-playing?marketing=IT"
|
||||||
|
header = {
|
||||||
|
"Authorization": "Bearer " + SessionManager.instance().get_current_session().access_tokens,
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
return requests.get(url, headers=header)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue