可以根据 Spotify Track ID 创建 Echo Nest Taste Profile 吗?
Posted
技术标签:
【中文标题】可以根据 Spotify Track ID 创建 Echo Nest Taste Profile 吗?【英文标题】:Can an Echo Nest Taste Profile be created based on Spotify Track ID's? 【发布时间】:2016-06-13 07:25:02 【问题描述】:Echo Nest API 应该与 Spotify ID 100% 兼容,但我无法根据 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,所以我希望我只是在这里遗漏了一些东西。
【问题讨论】:
【参考方案1】:好的,答案是肯定的。问题在于我的 JSON 输入文件的格式。我应该只使用 Spotify 曲目 ID 作为值,而不是完整的 URI。此外,我需要使用“song_id”而不是“track_id”作为键,以使其解析为 EN Song 而不是 EN Track。像这样:
[
"action": "update",
"item":
"item_id": "1",
"song_id": "SOEGJUJ12AF729D40A"
]
这在 Echo Nest 文档中不是很清楚,但我最初可能应该尝试一下。
【讨论】:
以上是关于可以根据 Spotify Track ID 创建 Echo Nest Taste Profile 吗?的主要内容,如果未能解决你的问题,请参考以下文章
在 Echo Nest API 中通过 Spotify ID 查询
Spotify iOS SDK track.availableTerritories