是否可以根据Spotify曲目ID创建Echo Nest Taste Profile?


Echo Nest

API应该与Spotify ID100%兼容,但我无法基于Spotify Track ID创建Echo Nest Taste Profile。

我尝试了以下方法:

创建口味配置文件

curl -F "api_key={api_key}" -F "type=song" -F "name=spotify-tracks" "http://developer.echonest.com/api/v4/catalog/create"

使用包含曲目及其 Spotify ID 的 JSON 文件更新配置文件

curl -X POST "http://developer.echonest.com/api/v4/tasteprofile/update" -F "api_key={api_key}" -F "id={taste_profile_id}" -F "data=@/spotify-tracks.json"

以下是spotify-tracks.json的内容(只是一个测试轨道):

[
  {
    "action": "update",
    "item": 
    {
        "item_id": "1",
        "track_id": "spotify:track:3HWxpLKnTlz6jE3Vi5dTF2"
    }
  }
]

但是,当我检查更新状态时,它永远无法解析曲目:

{
  "response": {
    "items_updated": 1, 
    "percent_complete": 100.0, 
    "status": {
      "code": 0, 
      "message": "Success", 
      "version": "4.2"
    }, 
    "ticket_status": "complete", 
    "total_items": 1, 
    "update_info": [
      {
        "info": "couldn't resolve item", 
        "item_id": "1"
      }
    ]
  }
}

我尝试了许多不同的方法,包括在 json 输入文件中使用"song_id"或"item_id"而不是"track_id",创建"一般"口味配置文件而不是"歌曲"口味配置文件,使用不同的 Spotify 曲目,以及其他一些无济于事的变体。

如果没有使用 Spotify ID 的能力,我将不得不单独查询每个曲目才能获得 ENID,所以我希望我只是在这里错过了一些东西。

好的,答案是肯定的。问题出在我的 JSON 输入文件的格式上。 我应该只使用Spotify跟踪ID作为值,而不是完整的URI。 此外,我需要使用"song_id"而不是"track_id"作为键,以使其解析为 EN 歌曲而不是 EN 曲目。 喜欢这个:

[
  {
    "action": "update",
    "item": 
    {
        "item_id": "1",
        "song_id": "SOEGJUJ12AF729D40A"
    }
  }
]

这在 Echo Nest 文档中不是很清楚,但我最初可能应该尝试一下。

相关内容

  • 没有找到相关文章

最新更新