
Riproduzione autorizzata in laboratorio di CVE-2025-47928 (spotipy-dev/spotipy esfiltrazione dei segreti di pull_request_target) — snapshot al commit vulnerabile 4f5759d
Artefatto di ricerca automatizzato — non è il progetto upstream.
Questo repository è un laboratorio usa e getta costruito da un sistema automatizzato per una tesi magistrale presso l'Université Laval sulla riproduzione di vulnerabilità pubblicate nei workflow di GitHub Actions. È uno snapshot integrale di
spotipy-dev/spotipyal commit4f5759dbfb4506c7b6280572a4db1aabc1ac778d(2025-04-21), ridistribuito sotto la licenza del progetto stesso, il cui file è incluso invariato in questo snapshot.Il progetto upstream non è coinvolto, non è mai preso di mira, e la vulnerabilità studiata qui è già pubblica. Ogni segreto e variabile in questo repository è un valore fittizio generato casualmente — nessuna credenziale reale è presente. I riferimenti alle action e le immagini dei runner sono bloccati a ciò a cui risolvevano il 2025-04-21; consulta
pinning.mdnell'output del sistema per ogni modifica apportata allo snapshot.Domande o obiezioni: [email protected]
Spotipy supporta tutte le funzionalità della Spotify Web API, incluso l'accesso a tutti gli endpoint e il supporto per l'autorizzazione degli utenti. Per i dettagli sulle capacità, ti invitiamo a consultare la documentazione della Spotify Web API.
pip install spotipy
in alternativa, per utenti Windows
py -m pip install spotipy
oppure aggiorna
pip install spotipy --upgrade
Una serie completa di esempi è disponibile nella documentazione online e nella directory degli esempi di Spotipy.
Per iniziare, installa spotipy, crea un nuovo account o accedi su https://developers.spotify.com/. Vai alla dashboard, crea un'app e aggiungi il tuo nuovo ID e SECRET (ID e SECRET si trovano nelle impostazioni dell'app) al tuo ambiente:
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials
sp = spotipy.Spotify(auth_manager=SpotifyClientCredentials(client_id="YOUR_APP_CLIENT_ID",
client_secret="YOUR_APP_CLIENT_SECRET"))
results = sp.search(q='weezer', limit=20)
for idx, track in enumerate(results['tracks']['items']):
print(idx, track['name'])
Risultato atteso:
0 Island In The Sun
1 Say It Ain't So
2 Buddy Holly
.
.
.
18 Troublemaker
19 Feels Like Summer
Un URI di reindirizzamento deve essere aggiunto alla tua applicazione in My Dashboard per accedere alle funzionalità autenticate dell'utente.
import spotipy
from spotipy.oauth2 import SpotifyOAuth
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(client_id="YOUR_APP_CLIENT_ID",
client_secret="YOUR_APP_CLIENT_SECRET",
redirect_uri="YOUR_APP_REDIRECT_URI",
scope="user-library-read"))
results = sp.current_user_saved_tracks()
for idx, item in enumerate(results['items']):
track = item['track']
print(idx, track['artists'][0]['name'], " – ", track['name'])
Il risultato atteso sarà l'elenco della musica che ti piace. Ad esempio, se ti piacciono Red e Sunflower, il risultato sarà:
0 Post Malone – Sunflower - Spider-Man: Into the Spider-Verse
1 Taylor Swift – Red
Per le domande più comuni, consulta le nostre FAQ.
Puoi fare domande su Spotipy su Stack Overflow. Non dimenticare di aggiungere il tag Spotipy, e qualsiasi altro tag pertinente, prima di pubblicare.
Se hai suggerimenti, bug o altri problemi specifici di questa libreria, segnalali qui. Oppure invia semplicemente una pull request.
Se sei uno sviluppatore con esperienza in Python e desideri contribuire a Spotipy, assicurati di seguire le linee guida elencate nella pagina di documentazione