Apple Music/Music Kit:如何从普通Apple Music链接获取歌曲ID
最优方案按优先级排序如下
1. 直接解析URL提取(零接口调用,性能最高)
这是成本最低的方案,仅需对URL做字符串解析即可完成:
- 带
i查询参数的标准歌曲分享链接,i参数对应的数值就是可直接使用的歌曲ID。你给出的示例链接https://music.apple.com/us/album/take-on-me-1985-12-mix-2015-remastered/1035047659?i=1035048414中,提取到的1035048414就是有效歌曲ID,固定us地区可直接拼接为接口地址https://api.music.apple.com/v1/catalog/us/songs/1035048414调用。 - 若链接无
i参数,直接提取路径中专辑名称后的数值作为专辑ID,上述示例中对应的专辑ID为1035047659。
2. 调用Apple Music API匹配(适配所有正规Apple Music链接)
当链接无i参数、或是短链接等特殊格式时,用该方案可保证100%识别准确率:
- 若解析不到有效
i参数,调用专辑查询接口https://api.music.apple.com/v1/catalog/us/albums/{提取到的专辑ID},从返回结果的relationships.tracks.data数组中即可获取该专辑下所有歌曲的标准ID,可结合链接中的歌曲名称做精准匹配筛选。 - 若为
apple.co格式的短链接,先请求链接获取3xx重定向后的完整长链接,再按上述流程处理即可。
3. 使用MusicKit原生方法(开发成本最低)
如果项目已接入任意平台的MusicKit SDK,直接调用内置的资源解析方法即可,无需手动处理URL或单独封装接口:
- 以Web端MusicKit JS为例,调用
MusicKit.getInstance().resolve(原始Apple Music链接)方法,会自动返回对应资源的结构化对象,直接取id字段即可获得标准歌曲ID。
内容的提问来源于stack exchange,提问作者daspianist
相关产品推荐
相关产品推荐

