我正在为Spotify开发一个定制的广播应用程序,但我无法理解它的链接方法。我希望Spotify开发人员可以帮助我。例如:
我有一个美国帐户,所以当我尝试访问Spotify URI时: Spotify的:轨道:5rDsAMjmB4Qa5WNciJPsfK
此URI是禁止的,您可以在XML上看到:
<track>
<id>b2ee21fccf6845e5a0d72a39bf7752b8</id>
<title>Tubthumping</title>
<artist-id>1d4211ecf9d04ffea26202e010042951</artist-id>
<artist>Chumbawamba</artist>
<album>Playlist: 90s Pop</album>
<album-id>da4ae29b497741bab15a97881ed1b70d</album-id>
<album-artist>Various Artists</album-artist>
<album-artist-id>19334eaffa3f4f2282e251e36611e26f</album-artist-id>
<year>2008</year>
<track-number>19</track-number>
<length>202706</length>
<files>
<file id="87cca4e0822573c3ee8a8a6a04c809b2db9935b6" format="Ogg Vorbis,320000,1,32,4" />
<file id="ac8d8ed1142988bc18df15ac1357990faf3f5afd" format="Ogg Vorbis,160000,1,32,4" />
<file id="c91d6743f49e49f703ce87cfcd5698eb81800a86" format="Ogg Vorbis,96000,1,32,4" />
<file id="94558701f427aff8d68f8149ac3e98e18365cc5f" format="MPEG 1 layer 3,320000,1,32,4" />
</files>
<cover>86bdd0faee722e65034207dd28ed5513f914ef44</cover>
<cover-small>145aaacf5ffb81e38e9e0be24ac9d993a6f31366</cover-small>
<cover-large>1cd206fb15d81dd3f6cde8dd59d89f94e1094104</cover-large>
<popularity>0.63630</popularity>
<restrictions>
<restriction forbidden="AF,AS,BM,CA,GL,GU,KG,MK,MM,MP,PM,PR,PS,UM,US,VA,VI" catalogues="free,daypass,premium"/>
</restrictions>
<external-ids>
<external-id type="isrc" id="DEA349700542" />
</external-ids>
</track>
这是美国禁止的,没有其他选择。但是,在Spotify应用程序上,此文件链接到: Spotify的:轨道:2JLRcAkPB8JZIIohZarVTr 我可以玩,因为该轨道不是美国帐户所禁止的,因为它是XML:
<track>
<id>59f872aa124941ba8facbd3e13cd4ab9</id>
<title>Tubthumping - Radio Edit</title>
<artist-id>1d4211ecf9d04ffea26202e010042951</artist-id>
<artist>Chumbawamba</artist>
<album>All-Star Sports Jams</album>
<album-id>eb030df86f954de1b92630611f497c19</album-id>
<album-artist>Various Artists</album-artist>
<album-artist-id>19334eaffa3f4f2282e251e36611e26f</album-artist-id>
<year>2008</year>
<track-number>8</track-number>
<length>212013</length>
<files>
<file id="099ec6f8bf800e4800d550a99fac75a4ceea2a0a" format="Ogg Vorbis,320000,1,32,4" />
<file id="25965023befa68849e724df3687634060e4679c6" format="Ogg Vorbis,160000,1,32,4" />
<file id="a61e885fe2d2e15e2fe56c0a5111ecac975792b7" format="Ogg Vorbis,96000,1,32,4" />
<file id="0914380378738d8ae4aeba6379ac45dbcd98bc51" format="MPEG 1 layer 3,320000,1,32,4" />
</files>
<cover>2344306830097471b90afe32584677c436c6dc33</cover>
<cover-small>7697a938417a0c585d15dfc5ddd672871e222e5b</cover-small>
<cover-large>517849070de1b127323c7b920a9b4bd321507135</cover-large>
<popularity>0.45674</popularity>
<restrictions>
<restriction allowed="CA,US" catalogues="free,daypass,premium"/>
</restrictions>
<external-ids>
<external-id type="isrc" id="USUR19700191" />
</external-ids>
</track>
这两首曲目如何相互关联?它们是相同的歌曲,但所有属性都不同,甚至标题都不匹配(注意第一个未列为“Radio Edit”)。我一开始以为它们可能是由它的ISRC连接起来的,但即使是匹配也没有。
答案 0 :(得分:1)
对于某些曲目(它们共享ISRC代码),您会在上面的XML中看到一个名为alternative的XML元素(您不应该查看它,因为它不是来自公共API)。替代元素将包括有关文件ID和限制的信息,因此如果可能,客户端可以决定播放这些文件。
然而,正如您所注意到的,仍然有一些轨道是“相同的轨道”,具有不同的ISRC代码。 Spotify客户端(并非所有客户端)当前都尝试通过执行特殊搜索查询(也不是公共查询)来尝试查找替换项。这些查询有点贵,并且每次客户端找到无法播放的曲目时都不会这样做。因此,行为不是很确定。同一国家/地区的不同用户有时可以玩,有时不玩。因此,我们计划删除此客户端链接并移动所有备用逻辑服务器端,但我们还没有这样做。