自动化研究产物 — 非上游项目。
本仓库是由自动化工具链构建的一次性实验环境,用于拉瓦尔大学(Université Laval)硕士论文中复现已发表的 GitHub Actions 工作流漏洞。它是
spotipy-dev/spotipy在提交4f5759dbfb4506c7b6280572a4db1aabc1ac778d(2025-04-21)时的逐字快照,依据该项目自身的许可证重新分发,该许可证文件已原样包含在本快照中。上游项目未参与其中,也从未成为攻击目标,此处研究的漏洞已公开。本仓库中的每个密钥和变量均为随机生成的虚拟值——不存在任何真实凭据。操作引用和运行器镜像均固定为 2025-04-21 时解析到的版本;有关对快照所做的每项更改,请参阅工具链输出中的
pinning.md。如有疑问或异议:[email protected]
Spotipy 支持 Spotify Web API 的所有功能,包括访问所有端点以及用户授权支持。有关具体能力的详细信息,建议您查阅 Spotify Web API 文档。
pip install spotipy
或者,对于 Windows 用户
py -m pip install spotipy
或升级
pip install spotipy --upgrade
完整的示例集可在在线文档和 Spotipy 示例目录中找到。
要开始使用,请安装 spotipy,在 https://developers.spotify.com/ 上创建新账户或登录。前往仪表盘,创建一个应用,并将您的新 ID 和 SECRET(ID 和 SECRET 可在应用设置中找到)添加到您的环境中:
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'])
预期结果:
0 Island In The Sun
1 Say It Ain't So
2 Buddy Holly
.
.
.
18 Troublemaker
19 Feels Like Summer
必须在我的仪表盘中将重定向 URI 添加到您的应用中,才能访问用户认证功能。
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'])
预期结果将是您喜欢的音乐列表。例如,如果您喜欢 Red 和 Sunflower,结果将是:
0 Post Malone – Sunflower - Spider-Man: Into the Spider-Verse
1 Taylor Swift – Red
对于常见问题,请查阅我们的 FAQ。
您可以在 Stack Overflow 上提问关于 Spotipy 的问题。发帖前别忘了添加 Spotipy 标签以及其他相关标签。
如果您有针对此库本身的建议、Bug 或其他问题,请在此处提交。或者直接发送拉取请求。
如果您是具备 Python 经验的开发者,并且愿意为 Spotipy 做出贡献,请务必遵循文档页面中列出的指南
查看指南