2016-03-01 44 views
1

Echo Nest API應該與Spotify ID完全兼容,但我無法根據Spotify Track ID創建Echo Nest味道配置文件。基於Spotify Track ID的創建回聲巢味道配置文件?

我已經試過如下:

創建口感

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

更新包含JSON文件中的軌道及其Spotify的ID的

curl -X POST "http://developer.echonest.com/api/v4/tasteprofile/update" -F "api_key={api_key}" -F "id={taste_profile_id}" -F "[email protected]/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" 
     } 
    ] 
    } 
} 

我已經嘗試了多種不同的方式,包括使用「song_id」或「ITEM_ID」而不是json輸入文件中的'track_id',使用不同的Spotify軌道創建'一般'味道配置文件而不是'歌曲'味道配置文件,以及一些其他變體無濟於事。

如果沒有使用Spotify ID的能力,我將不得不單獨查詢每條曲目以獲取ENID,所以我希望我只是在這裏錯過了一些東西。

回答

1

好的,答案是肯定的。問題在於我的JSON輸入文件的格式。我應該只使用Spotify track ID作爲值,而不是完整的URI。另外,我需要使用「song_id」而不是「track_id」來將鍵分解爲EN樂曲而不是EN軌。就像這樣:

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

這不是迴音巢文檔中的超清晰,但我也許應該原審了這一點。