
Reprodução laboratorial autorizada do CVE-2025-47928 (exfiltração de segredos em pull_request_target do spotipy-dev/spotipy) — instantâneo no commit vulnerável 4f5759d
Artefato de pesquisa automatizado — não é o projeto upstream.
Este repositório é um laboratório descartável construído por um harness automatizado para uma dissertação de mestrado na Université Laval sobre a reprodução de vulnerabilidades publicadas em workflows do GitHub Actions. É um snapshot verbatim de
spotipy-dev/spotipyno commit4f5759dbfb4506c7b6280572a4db1aabc1ac778d(2025-04-21), redistribuído sob a licença do próprio projeto, cujo arquivo está incluído inalterado neste snapshot.O projeto upstream não está envolvido, nunca é alvo, e a vulnerabilidade estudada aqui já é pública. Cada segredo e variável neste repositório é um valor fictício gerado aleatoriamente — nenhuma credencial real está presente. Referências de ações e imagens de runner estão fixadas no que resolveram em 2025-04-21; veja
pinning.mdna saída do harness para cada alteração feita no snapshot.Perguntas ou objeções: [email protected]
O Spotipy suporta todos os recursos da Spotify Web API, incluindo acesso a todos os endpoints e suporte para autorização de usuário. Para detalhes sobre as capacidades, você é incentivado a revisar a documentação da Spotify Web API.
pip install spotipy
alternativamente, para usuários do Windows
py -m pip install spotipy
ou atualize
pip install spotipy --upgrade
Um conjunto completo de exemplos pode ser encontrado na documentação online e no diretório de exemplos do Spotipy.
Para começar, instale o spotipy, crie uma nova conta ou faça login em https://developers.spotify.com/. Vá para o dashboard, crie um aplicativo e adicione seu novo ID e SECRET (ID e SECRET podem ser encontrados nas configurações do aplicativo) ao seu 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'])
Resultado esperado:
0 Island In The Sun
1 Say It Ain't So
2 Buddy Holly
.
.
.
18 Troublemaker
19 Feels Like Summer
Um URI de redirecionamento deve ser adicionado ao seu aplicativo em My Dashboard para acessar recursos autenticados pelo usuário.
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'])
O resultado esperado será a lista de músicas que você curtiu. Por exemplo, se você curtiu Red e Sunflower, o resultado será:
0 Post Malone – Sunflower - Spider-Man: Into the Spider-Verse
1 Taylor Swift – Red
Para perguntas comuns, consulte nosso FAQ.
Você pode fazer perguntas sobre o Spotipy no Stack Overflow. Não se esqueça de adicionar a tag Spotipy, e quaisquer outras tags relevantes também, antes de postar.
Se você tiver sugestões, bugs ou outros problemas específicos desta biblioteca, registre-os aqui. Ou apenas envie um pull request.
Se você é um desenvolvedor com experiência em Python e gostaria de contribuir com o Spotipy, siga as diretrizes listadas na página de documentação