Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Heroku deezer API无结果_Node.js_Heroku_Deezer - Fatal编程技术网

Node.js Heroku deezer API无结果

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); };

我目前正在使用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);
            }
        }
    );
}
我发现其他一些人由于其服务器的区域而没有结果: 和

它说向请求添加令牌以获得支持。我已更新搜索功能,向请求添加令牌:

function search(url, searchQuery, res) {
    url += qs.stringify({
       q: searchQuery,
       access_token: 'nyeLL0j9d953e221bcbee5flp77Zqu553e221bcbee98mkAWOsT'
   });
 ....
}
我仍然得到: 正文:“{”数据“:[],“总计”:0}”


有没有办法让它在Heroku上运行?还是有办法假装我在另一个国家?

你知道Heroku的服务器在哪里吗?这似乎和你举的例子是同一个问题。因此,如果要使其工作,必须在请求中传递一个access_token参数。如果访问令牌与在Deezer live国家/地区(例如意大利)注册的高级用户关联,则请求将考虑与令牌关联的用户国家/地区。因此,它将返回结果。上述解决方案不适用于免费用户。

我没有意识到访问令牌必须与高级帐户相关联。谢谢你的澄清。我将不得不使用另一个音乐API。