在 Echo Nest API 中通过 Spotify ID 查询
Posted
技术标签:
【中文标题】在 Echo Nest API 中通过 Spotify ID 查询【英文标题】:Querying by Spotify ID in Echo Nest API 【发布时间】:2016-05-04 04:36:29 【问题描述】:我有来自 spotify 播放列表的歌曲,需要在 EN 中获取它们的信息。 以 Tania Bowra 的“All I Want”为例。
EN ID(not given): SOUJWUH13E89D89DED
Spotify ID: 2TpxZ7JUBn3uw46aR7qd6V
Spotify URI: spotify:track:2TpxZ7JUBn3uw46aR7qd6V
Spotify external ID: AUCR10410001 (isrc)
如果我通过 Spotify 外部 ID 或 EN 中的 Spotify ID 进行查询,例如
$curl -X GET "http://developer.echonest.com/api/v4/song/profile?api_key=my_api_key&id=AUCR10410001&bucket=audio_summary" | python -m json.tool
或
$curl -X GET "http://developer.echonest.com/api/v4/song/profile?api_key=my_api_key&id=2TpxZ7JUBn3uw46aR7qd6V&bucket=audio_summary" | python -m json.tool
EN API 返回此消息:"id - Invalid parameter: id must be an Echo Nest id or foreign id"
。
或者如果我通过 Spotify URI 查询,例如
$curl -X GET "http://developer.echonest.com/api/v4/song/profile?api_key=my_api_key&id=spotify:track:2TpxZ7JUBn3uw46aR7qd6V&bucket=audio_summary" | python -m json.tool
我收到此回复:
"response":
"songs": [],
"status":
"code": 0,
"message": "Success",
"version": "4.2"
其中不包含任何信息。
但正如 Spotify 的 website 所说,它应该可以工作。
【问题讨论】:
【参考方案1】:它适用于修改为“track”的“song”:
$curl -X GET "http://developer.echonest.com/api/v4/track/profile?api_key=my_api_key&format=json&id=spotify:track:2TpxZ7JUBn3uw46aR7qd6V&bucket=audio_summary"
【讨论】:
【参考方案2】:将“id”替换为“track_id”即可。
例子:
$curl -X GET "http://developer.echonest.com/api/v4/song/profile?api_key=my_api_key&track_id=spotify:track:2TpxZ7JUBn3uw46aR7qd6V&bucket=audio_summary" | python -m json.tool
【讨论】:
以上是关于在 Echo Nest API 中通过 Spotify ID 查询的主要内容,如果未能解决你的问题,请参考以下文章
Echo Nest API:将用于检查速率限制的 curl 命令转换为 c#
Echo Nest 曲目 ID 到 Spotify URI 的转换