我有一些代码试图从Soundcloud API获取JSON结果。
我注册了一个应用,获得了客户端ID等等,我试图像这样打电话:
var querystring = require('querystring');
var http = require('http');
var addr = 'http://api.soundcloud.com/resolve.json?url=http://soundcloud.com/matas/hobnotropic&client_id=XXXXX';
var options = {
hostname: "api.soundcloud.com",
path: "/resolve.json?url=http://soundcloud.com/matas/hobnotropic&client_id=XXXXXx",
method: "GET",
headers: {
"Content-Type": "application/json"
}
}
var request = http.get(options, function(response) {
response.setEncoding('utf8');
response.on('data', function(chunk) {
console.log(chunk);
});
});
这会产生如下结果:
{"status":"302 - Found","location":"https://api.soundcloud.com/tracks/49931.json?client_id=xxxx"}
当我在Chrome中使用相同的网址时,我会获得正确的JSON信息。如何从服务器端脚本正确地进行此调用?
答案 0 :(得分:5)
内置的http客户端无法处理重定向。但是request具有许多其他功能,内置客户端不支持开箱即用。
答案 1 :(得分:-1)
今天我为Soundcloud更新了自己的NodeJS Api-Wrapper包,可以在这里找到:https://www.npmjs.com/package/soundcloud-nodejs-api-wrapper
它执行服务器端API通信,其中包括数据修改。没有用户弹出窗口和重定向网址。
我还没有找到任何其他在NodeJS中支持此功能的软件包。