同一曲目的不同 Spotify ID
Posted
技术标签:
【中文标题】同一曲目的不同 Spotify ID【英文标题】:Different Spotify IDs for the same track 【发布时间】:2015-10-22 20:27:04 【问题描述】:我正在使用 Spotify API,但我发现了一个奇怪的行为。有些曲目有两个不同的 ID,即使曲目在同一张专辑中。
示例: https://api.spotify.com/v1/tracks/0YGzsfUBgNkcfw46TvYbxj https://api.spotify.com/v1/tracks/3B7qxL6lZWWONOXNmEKADY(信息较少)
有人知道为什么吗?
【问题讨论】:
【参考方案1】:专辑可能会发行多次,曲目可能会发行多次,但在不同的专辑中(例如原始专辑和精选专辑)。即使它们本质上是同一张专辑或曲目,它们也将始终具有不同的专辑 URI 和曲目 URI。
在您的示例中,这两个曲目在很多方面都是完全相同的曲目 - 但在同一张专辑的不同版本中发行。 (这张专辑可能是在两个不同的年份发行的,或者是由不同的公司发行的。)
作为旁注,Spotify 中有一个链接曲目的概念,它将在多张专辑中发布的曲目等同于相同的曲目。如果您尝试播放某个曲目 URI,但它在您的市场上不可用,则 Spotify 将在可用的不同专辑中查找相同的曲目。 Web API 也公开了这个功能,阅读更多关于它的信息Track Relinking Guide。
【讨论】:
非常感谢。好的,我现在可能明白了。我厌倦了api.spotify.com/v1/tracks/3B7qxL6lZWWONOXNmEKADY?market=CH 与api.spotify.com/v1/tracks/3B7qxL6lZWWONOXNmEKADY 如果我使用市场=CH,则 preview_URL 不为空。但换句话说,如果我喜欢在我的 WebApp 中使用 preview_url,我只需添加一个可以使用 Spotify 的国家/地区,而不是不添加正确的国家/地区吗?没有市场就没有理由做电话。 理想情况下,您应该使用等于用户来自哪里的market
值。如果您使用的是用户已授权的访问令牌,则可以使用market=from_token
,并且仅当该轨道在用户市场上可用时,生成的轨道才会定义preview_url
。仅当您知道您的用户来自瑞士时,将 market
参数值硬编码为 CH
才有意义。如果您没有访问令牌,您可以尝试通过使用用户 IP 的地理位置来确定用户来自哪里。
太棒了。非常感谢您的解释。这对我有用!以上是关于同一曲目的不同 Spotify ID的主要内容,如果未能解决你的问题,请参考以下文章
Echo Nest 曲目 ID 到 Spotify URI 的转换
使用适用于 Android 的 Spotify SDK 播放播放列表和曲目