【发布时间】:2014-08-06 21:11:57
【问题描述】:
我目前正在使用托管在 Heroku 上的 Deezer API 构建一个应用程序。当我在本地运行应用程序时(我位于加拿大),我得到了搜索结果。当应用程序部署在 Heroku 上时,我没有得到任何结果
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);
}
}
);
}
我发现其他一些人由于服务器所在的区域而没有结果: Why Deezer search API is not returning results on deployed cloud application 和 Deezer API: Search result is empty
它说要在请求中添加一个令牌以获得支持。我已经更新了我的搜索功能以添加一个令牌来请求:
function search(url, searchQuery, res) {
url += qs.stringify({
q: searchQuery,
access_token: 'nyeLL0j9d953e221bcbee5flp77Zqu553e221bcbee98mkAWOsT'
});
....
}
我仍然得到: 正文:'{"data":[],"total":0}' }
有没有办法让它在 Heroku 上运行?或者有没有办法假装我在另一个国家?
【问题讨论】: