【问题标题】:Album search API return different results专辑搜索 API 返回不同的结果
【发布时间】:2014-03-16 23:20:49
【问题描述】:

从我的生产服务器请求 Deezer 搜索 API 以获取专辑时,我得到了不同的结果: 例如这个搜索:http://api.deezer.com/search/album?q=Billy%20Ze%20kick%20et%20Les%20Gamins%20en%20Folie%20Billy%20Ze%20Kick%20et%20Les%20Gamins%20en%20Folie

-在我在法国的笔记本电脑上,我有 2 个结果,第一个结果是专辑 #215350 -在一个heroku欧洲实例上,我有2个结果,第一个结果是专辑#41910(如果heroku实例在美国,绝对没有结果......) - 在我的制作(阿姆斯特丹的数字海洋)服务器上,我得到了专辑 #41910 作为唯一的结果。

我假设这张专辑在哪个国家/地区可用存在法律问题,但有什么办法可以避免这种情况?

其他类似 API 具有本地属性,可让我查看专辑在我的最终用户所在国家/地区是否可用... 这是一个真正的问题,我的服务器在阿姆斯特丹……我的用户无处不在……

有什么想法或解决方案吗?

谢谢!

【问题讨论】:

    标签: api deezer


    【解决方案1】:

    搜索结果根据当前用户所在的国家/地区进行本地化(基于 IP)。您可以通过将用户令牌传递给请求来覆盖国家/地区,以确保始终获得相同的结果。

    关于可用性,它是基于曲目的:如果您想知道这首歌是否在某个国家/地区可用,您必须查询专辑中的每首曲目。例如,http://api.deezer.com/track/2150054 返回可用国家的列表。

    【讨论】:

    • 谢谢朱莉。我将更新我的后端以与此解决方案兼容