同一曲目的不同 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 播放播放列表和曲目

spotify 播放器在 iphone 中播放旧曲目一段时间

Spotify Web API 播放端点 - 播放曲目

Spotify:曲目的受欢迎程度如何确定? [关闭]

Spotify API 根据曲目名称获取曲目信息?