2016-10-03 68 views
2

通常,spotipy需要曲目ID作为要传递的参数,以便返回曲目名称。Spotipy - 从曲目名称获取曲目ID

说我有两个列表,从Spotify的API获得:

  1. 艺术家

    [u'Moses Sumney', u'Cherry Glazerr', u'Danny Brown', u'NxWorries'] 
    

    及彼等各自之歌:

  2. 轨道

    [u'Lonely World', u"Told You I'd Be With the Guys", u'Really Doe [ft. Kendrick Lamar, Ab-Soul, and Earl Sweatshirt]', u'Lyk Dis'] 
    

是否有可能以相反方式获取跟踪ID?

回答

6

Spotipy.search()是你在找什么。

import spotipy 
sp = spotipy.Spotify() 

artist= 'Moses Sumney' 
track= 'Lonely World' 

track_id = sp.search(q='artist:' + artist + ' track:' + track, type='track') 

这将返回与查询匹配的歌曲列表,具体取决于搜索的精确程度取决于返回的结果数量。

+1

谢谢。我可以问你在哪里找到搜索查询语法的文档吗?直到我找到你的答案,我才想出来。 –

+0

我刚刚测试了这个,需要在创建'sp'对象时添加一个认证令牌:'sp = spotipy.Spotipy(auth ='TOKEN')'。 – atwalsh