我正在尝试使用current_user_saved_tracks()获取我保存的所有歌曲的列表,但限制为20首。有没有办法访问我在m账户上的所有1000+歌曲?
发布于 2020-09-06 06:23:52
signature如下:
def current_user_saved_tracks(self, limit=20, offset=0)official Spotify API reference (beta)表示最大值为limit=50。因此,在循环中,调用current_user_saved_tracks,但每次将offset递增limit:
def get_all_saved_tracks(user, limit_step=50):
tracks = []
for offset in range(0, 10000000, limit_step):
response = user.current_user_saved_tracks(
limit=limit_step,
offset=offset,
)
print(response)
if len(response) == 0:
break
tracks.extend(response)
return tracks循环,直到得到空响应或异常。我不确定是哪一个。
如果你不需要担心用户决定在你检索时添加一个保存的曲目,这应该是可行的。
发布于 2020-09-06 06:20:03
是的,默认参数是limit=20。您可以使用以下代码设置更高的限制:
current_user_saved_tracks(limit=50)或者你可以设置一个偏移量来获得接下来的20首曲目:
current_user_saved_tracks(offset=20)https://stackoverflow.com/questions/63758953
复制相似问题