1

我想测试一个 deezer web 应用程序,其曲目不适用于国家/地区限制(例如,尝试使用 Deezer Italian 帐户播放仅在英国可用的曲目),以查看系统如何反应并准备好处理此类错误. 任何人都知道我怎样才能得到一个例子?

你知道国家和国家之间的差异(就可用的艺术家/歌曲而言)是否巨大?

谢谢

Aurélien回答后编辑:

1)使用 Aurélien 的示例我尝试使用隐形播放器示例(http://developers.deezer.com/sdk/javascript/example-invisible)播放来自意大利的三首歌曲,第一首和第三首歌曲在意大利可用,第二首没有可用的。

<input type="button" onclick="DZ.player.playTracks([60978718,18232696,60978718], 0, function(response){alert(JSON.stringify(response));}  ); return false;" value="Play tracks"/>

发生的情况是客户端没有切换到第二首歌曲的 30 秒,而是跳过它(在我看来,这实际上是一种更好的行为);我还注意到,从客户端(我有响应警报)我无法获得有关“可读性”的任何信息,所以如果我查看第二首歌曲的响应,没有什么告诉我这是不可读的意大利,我说的对吗?当然,您可以使用如您所展示的 API 服务器调用来获取该信息。

2)关于代币,问题在于免费增值用户(前六个月的免费用户),他们仍然无法通过他们的代币;这进行了一个简单的 API 调用,例如获取他们无法使用的艺术家(需要令牌)的前 5 首歌曲......

3)关于“钻石”的例子,你能更好地解释一下吗?这意味着,如果我使用意大利令牌请求 Rihanna 的前 5 首歌曲,并且我得到了带有 id 的 Diamonds,那么该 id 不仅可能在德国无法流式传输,而且这首歌也可能在德国实际上是流式传输的,但只有当我使用另一个(德国)身份证?

4

1 回答 1

3

[编辑完成/正确答案]

  • 当用户当前所在国家/地区没有曲目时,deezer api 将标记“可读”设置为 false ,SDK 播放器自动跳过该曲目不可用自动切换到 30 秒预览)。

  • 国家之间的差异并不大。

  • 如果您想使用高级用户的当前国家而不是服务器的位置,请不要忘记在每个请求中添加 & access_token = TOKEN 。如果您想确保为所有用户(Premium、Freemium 和 unlogged)提供完美的地理定位内容,最好从客户端而不是服务器端请求 api。仅供参考:我们目前正在审查此行为以对其进行优化和标准化。

  • 同一首曲目可以有许多具有不同国家/地区权限的 ID(例如: http: //www.deezer.com/fr/track/60978718)。如果您使用意大利令牌向艺术家请求前 5 名,而使用德语令牌请求相同的请求,有时会发生,您拥有相同的歌曲但不同的 id。一个原因是,根据国家/地区的不同,可能会发生相同的歌曲未获得同一唱片公司的许可。

关于 API 的行为:

http://api.deezer.com/2.0/track/18232696:该曲目在法国可用,但在德国不可用(抱歉,我没有英国示例)

德国的要求:

{"id":18232696,"readable":false,"title":"Charmaine","link":"http:\/\/www.deezer.com\/track\/18232696","duration":280,"track_position":6,"disk_number":1,"rank":1,"preview":"http:\/\/cdn-preview-1.deezer.com\/stream\/1451d74b90d3331db9e35a4071b4795c-0.mp3","artist":{"id":379393,"name":"Suckers","link":"http:\/\/www.deezer.com\/artist\/379393","picture":"http:\/\/api.deezer.com\/2.0\/artist\/379393\/image","radio":true},"album":{"id":1713045,"title":"Candy Salad","link":"http:\/\/www.deezer.com\/music\/suckers\/candy-salad-1713045","cover":"http:\/\/api.deezer.com\/2.0\/album\/1713045\/image","release_date":"0000-00-00"},"type":"track"}

法国的要求:

{"id":18232696,"readable":true,"title":"Charmaine","link":"http:\/\/www.deezer.com\/track\/18232696","duration":280,"track_position":6,"disk_number":1,"rank":1,"preview":"http:\/\/cdn-preview-1.deezer.com\/stream\/1451d74b90d3331db9e35a4071b4795c-0.mp3","artist":{"id":379393,"name":"Suckers","link":"http:\/\/www.deezer.com\/artist\/379393","picture":"http:\/\/api.deezer.com\/2.0\/artist\/379393\/image","radio":true},"album":{"id":1713045,"title":"Candy Salad","link":"http:\/\/www.deezer.com\/music\/suckers\/candy-salad-1713045","cover":"http:\/\/api.deezer.com\/2.0\/album\/1713045\/image","release_date":"0000-00-00"},"type":"track"}

关于 SDK 的行为:

SDK 播放器会自动跳过不可用的曲目。在当前播放列表/队列中,不可用的曲目被视为“不存在”。

PS:我是 Deezer 团队的一员

于 2013-06-20T09:13:22.253 回答