1

Echo Nest API は Spotify ID と 100% 互換性があるはずですが、Spotify トラック 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 の内容です (テスト用に 1 つのトラックのみ):

[
  {
    "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 入力ファイルで「track_id」ではなく「song_id」または「item_id」を使用する、「song」テイスト プロファイルではなく「一般的な」テイスト プロファイルを作成する、さまざまな Spotify トラックを使用するなど、さまざまな方法を試しました。役に立たない他のいくつかのバリエーション。

Spotify Id を使用する機能がなければ、ENID を取得するために各トラックを個別にクエリする必要があるため、ここで何かが欠けていることを願っています。

4

1 に答える 1

1

はい、答えはイエスです。問題は、JSON 入力ファイルの形式にありました。完全な URI ではなく、値に Spotify トラック ID のみを使用する必要がありました。また、キーを EN トラックではなく EN ソングに解決するには、キーに「track_id」ではなく「song_id」を使用する必要がありました。このような:

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

これは Echo Nest のドキュメントではあまり明確ではありませんが、おそらく最初にこれを試してみるべきでした.

于 2016-03-13T17:32:02.513 に答える