关于Spotify API中专辑收录曲目无法获取原始单曲发行日期的问题
获取Spotify曲目原始发行日期的变通方案
核心思路
Spotify公开API确实没有直接返回曲目原始发行日期的字段,但可以通过ISRC码关联不同版本的曲目,从单曲版的发行日期中取最早的那个,就是原始发行日期。
具体步骤
- 第一步:从目标曲目(播放列表里的那首)中提取
external_ids.isrc。调用GET /tracks/{track_id}接口,在返回的Track对象里找到external_ids下的isrc值——这是该录音的唯一标识,同一个录音的单曲版、专辑版ISRC完全一致。 - 第二步:用ISRC搜索所有关联曲目。调用
GET /search接口,设置q=isrc:{你的ISRC码},type=track,这样能拉取到所有包含该录音的版本(单曲、专辑收录、合集等)。 - 第三步:筛选单曲版本并取最早日期。遍历搜索结果里的所有Track条目,筛选出
album.album_type为single的条目,然后比较这些条目的album.release_date,取最早的那个就是原始发行日期。如果没有找到single类型的条目,说明这首歌最初就是作为专辑曲目发行的,直接用当前曲目的专辑日期即可。
注意事项
- 搜索接口可能返回多页结果,要处理分页逻辑(检查
next字段,循环请求直到没有下一页),避免漏掉早期的单曲版本。 - 部分老曲目可能没有ISRC码,这种情况只能退而求其次,用当前曲目的专辑日期,或者结合艺人的发行历史推断,但可靠性较低。
- Spotify的
release_date有不同精度(比如只到年,或者到年月日),比较日期时要统一处理,比如把所有日期转成YYYY-MM-DD格式(缺失的部分补全为01)再比较,确保结果准确。
内容的提问来源于stack exchange,提问作者Le Magicien Annonyme
相关产品推荐
相关产品推荐

