Spotify Spoitfy和Echo嵌套API不匹配,如何修复?
我正在使用Spotify和Echo Nest API获取有关歌曲的音频信息。基本流程是:Spotify Spoitfy和Echo嵌套API不匹配,如何修复?,spotify,echonest,Spotify,Echonest,我正在使用Spotify和Echo Nest API获取有关歌曲的音频信息。基本流程是: 使用Spotify的API使用曲目标题和艺术家姓名搜索歌曲 从响应中获取曲目的Spotify URL 使用Spotify ID查询Echo Nest API以获取音频摘要 长期以来,这种方法一直运作良好。但在过去的几个月里,我注意到越来越多的轨迹无法在给定Spotify ID的Echo Nest API中找到 下面是今天的一个例子。Sufjan Stevens的曲目“芝加哥” 在Spotify上搜索它。 第
spotify:track:7Bo0xLcXWx3pdhqwthqGaz
查询此Spotify ID的回显嵌套:
(对于这个URL,我使用了他们的示例API密钥,因此您可以看到结果。当然,在我的应用程序中,我使用的是我自己的API密钥。)
响应为“指定的标识符不存在:spotifyv2 ZZ:track:spotify:track:7Bo0xLcXWx3pdhqwthqGaz”
但是Echo Nest显然在他们的数据库中有这个轨迹,因为我可以搜索它,甚至可以获得Spotify Id:(但是Echo Nest返回的Spotify Id与Spotify返回的Id不同。)
我有办法解决这个问题吗 我注意到了同一个问题-我所做的是使用Echo Nest的搜索,这实际上允许您同时执行这两项操作。少一个API调用
for track in search_tracks:
results = nest.get('song/search', artist=track['artist'],
title=track['title'], bucket='audio_summary')
if results['songs']:
tracks.append(results['songs'][0])
我终于开始实施这个解决方案。我发现问题也反过来了——我将从EchoNest API搜索中获得正确的结果,但它通常没有Spotify track ID。因此,我必须在Spotify上搜索以找到轨迹。我想双管齐下的搜索是唯一的方法。