我在Spotipy中使用PyCharm,我想获取给定播放列表中每个曲目的名称和URI。我想通过URI引用给定的播放列表。我该怎么做呢?这可能很简单;但是,这是我使用Spotipy的第一天,我完全迷路了。
编辑:我知道了。虽然,可能有一种更简单,更优雅的方法来做到这一点。有人可以建议我如何简化以下代码吗?如果已经尽可能简单了,请告诉我,因为直到有人告诉我我才知道。
import spotipy
import spotipy.util as util
scope = 'user-library-read'
username = 'REDACTED'
def show_tracks(tracks):
for i, item in enumerate(tracks['items']):
track = item['track']
print("%s %s" % (track['name'], track['uri']))
token = util.prompt_for_user_token(username, scope,
client_id='REDACTED',
client_secret='REDACTED',
redirect_uri='http://localhost/')
if token:
sp = spotipy.Spotify(auth=token)
####################################################
playlists = sp.user_playlists(username)
results = sp.user_playlist(username, '17gneMykp6L6O5R70wm0gE', fields="tracks,next")
tracks = results['tracks']
show_tracks(tracks)
while tracks['next']:
tracks = sp.next(tracks)
show_tracks(tracks)
####################################################
else:
print("Can't get token for", username)
您必须通读Spotipy文档以了解它们提供了哪些API端点。
转到https://spotipy.readthedocs.io/en/latest/#api-reference并搜索"playlist"
。您会看到有很多可用的选项。通读examples,您将开始了解如何链接呼叫以收集所需信息。
如果您不确切知道您需要什么端点,我建议您阅读官方文档。找到端点后,交叉检查Spotipy,以确保它们已为此创建包装。
https://developer.spotify.com/documentation/web-api/reference/playlists/
将所需内容分解为较小的问题。一旦弄清楚每个步骤需要做什么,就可以将其组合成一个可行的解决方案。