用于 spotify 网络套接字的 python 包装器
项目描述
Spotify 网络套接字
描述
这个项目的主要目的是让用户与 spotify web socket 事件进行交互。目前该项目仍处于 alpha 版本,因此不完整,可能存在一些错误。随意贡献是任何方式。
免责声明: 此库仅适用于有效的 spotify 高级订阅
基本库使用
使用 chrome cookie 的示例
from spotifyws.spotify import SpotifyWs
client = SpotifyWs()
# Triggered on track change
@client.on('track')
def on_track_change(data):
print('Track changed => ', data)
# Triggered on volume change
@client.on("volume")
def on_volume_change(data):
print("Volume changed => ", data)
# Triggered on options change, such as shuffle etc.
@client.on("playback_options")
def on_playback_options_change(data):
print("Options changed => ", data)
# Triggered playback state is resumed
@client.on("resume")
def on_play():
print("Playback resumed")
# Triggered playback state is paused
@client.on("pause")
def on_pause():
print("Playback paused")
使用自定义文件中的 cookie 的示例
from spotifyws.spotify import SpotifyWs
client = SpotifyWs(cookie_file="./cookie_file.json")
# Triggered on track change
@client.on('track')
def on_track_change(data):
print('Track changed => ', data)
# Triggered on volume change
@client.on("volume")
def on_volume_change(data):
print("Volume changed => ", data)
# Triggered on options change, such as shuffle etc.
@client.on("playback_options")
def on_playback_options_change(data):
print("Options changed => ", data)
# Triggered playback state is resumed
@client.on("resume")
def on_play():
print("Playback resumed")
# Triggered playback state is paused
@client.on("pause")
def on_pause():
print("Playback paused")
您还可以向客户端发送播放和音量命令
from spotifyws.spotify import SpotifyWs
client = SpotifyWs()
client.send_command("pause")
client.send_command("resume")
client.send_command("skip_next")
client.send_command("skip_prev")
client.send_command("volume", 30000)
client.send_command("seek_to", 5000)
启动烧瓶示例
为了启动烧瓶示例,您需要以下命令:
首先从pypi安装库包
$ pip3 install spotify-ws
然后 cd 进入示例文件夹
$ cd examples/flask-app
现在在启动 server.py 之前,您需要从您的 spotify 仪表板面板中检索客户端 ID 和客户端密钥;你可以在这里找到它。
复制粘贴 client-id 和 client-secret 到各自的变量中。
现在您已准备好使用以下命令启动服务器
$ python3 server.py
关于认证
目前只能使用本地 cookie 而不是通过 OAUTH 流来实现身份验证。
笔记
此代码仅用于学习目的。您必须知道绕过 spotify API 违反了他们的服务条款,因此我不邀请您滥用这个库。谢谢
作者
雅格布·德·加蒂斯