Node.js Heroku deezer API无结果
我目前正在使用Heroku上托管的Deezer API构建一个应用程序。当我在本地运行应用程序时(我位于加拿大),我会得到搜索结果。当应用程序部署在Heroku上时,我没有得到任何结果Node.js Heroku deezer API无结果,node.js,heroku,deezer,Node.js,Heroku,Deezer,我目前正在使用Heroku上托管的Deezer API构建一个应用程序。当我在本地运行应用程序时(我位于加拿大),我会得到搜索结果。当应用程序部署在Heroku上时,我没有得到任何结果 body: '{"data":[],"total":0}' } 搜索功能是: exports.searchByTrack = function (req, res) { search('http://api.deezer.com/search/track?', req.query.q, res); };
body: '{"data":[],"total":0}' }
搜索功能是:
exports.searchByTrack = function (req, res) {
search('http://api.deezer.com/search/track?', req.query.q, res);
};
function search(url, searchQuery, res) {
url += qs.stringify({
q: searchQuery
});
request({
uri: url,
method: 'GET'
},
function (error, response, body) {
console.log(JSON.stringify(response), JSON.stringify(body));
if (!error && response.statusCode === 200) {
searchSuccess(res, JSON.parse(body));
} else {
searchError(res, error, response, body);
}
}
);
}
我发现其他一些人由于其服务器的区域而没有结果:
和
它说向请求添加令牌以获得支持。我已更新搜索功能,向请求添加令牌:
function search(url, searchQuery, res) {
url += qs.stringify({
q: searchQuery,
access_token: 'nyeLL0j9d953e221bcbee5flp77Zqu553e221bcbee98mkAWOsT'
});
....
}
我仍然得到:
正文:“{”数据“:[],“总计”:0}”
有没有办法让它在Heroku上运行?还是有办法假装我在另一个国家?你知道Heroku的服务器在哪里吗?这似乎和你举的例子是同一个问题。因此,如果要使其工作,必须在请求中传递一个access_token参数。如果访问令牌与在Deezer live国家/地区(例如意大利)注册的高级用户关联,则请求将考虑与令牌关联的用户国家/地区。因此,它将返回结果。上述解决方案不适用于免费用户。我没有意识到访问令牌必须与高级帐户相关联。谢谢你的澄清。我将不得不使用另一个音乐API。