我正在构建一个应用,需要知道某个曲目是否可以在用户所在的区域播放。
使用Metadata API检查轨道的基本地域限制很容易。但是,我遇到Metadata API所说的不在我的区域内的曲目,但是会自动链接到非区域锁定的同一曲目的版本。即。元数据说我无法播放曲目,但就用户而言,Spotify可以播放该曲目。
以下是一个例子:
Apparat @ spotify的'Sweet Unrest':追踪:4H4h3ulzjGVox14GHiCEoo我在英国(地区代码为GB)
查找链接为http://ws.spotify.com/lookup/1/.json?uri=spotify:track:4H4h3ulzjGVox14GHiCEoo
结果区域字符串中没有GB代码,因此从理论上讲,我不应该播放该轨道。但是,在主要的Spotify播放器中,我可以看到它是自动链接到spotify:track:11S6TQybYumAnNApugZWSJ,可以在我的区域播放。如果我将所谓的无法播放的曲目的URI粘贴到左上角的Spotify搜索框中,它就会播放。
是否有基于API的方法来检查这样的曲目?
答案 0 :(得分:2)
您可以使用每个曲目的未记录属性来检测曲目是否可播放:data.availableForPlayback
Track.fromURI("spotify:track:XXX", function(track) {
alert(track.data.availableForPlayback);
});
如果你运行上面的代码,你应该得到一个真/假,做你想要的。
答案 1 :(得分:0)
不幸的是,不是在这个时候。链接实际上是由客户端本身而不是我们的任何后端服务完成的,因此我们的API都没有这些信息。