在 Echo Nest 中通过 Spotify ID 查询 API

Querying by Spotify ID in Echo Nest API

我有来自 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

ENAPIreturns这条留言:"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 所说,它应该有效。

它适用于 "song" 修改为 "track":

$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"

将“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