我正在尝试获取登录到我的应用程序的用户的facebook个人资料图片。Facebook的API指出,http://graph.facebook.com/517267866/?fields=picture
以JSON对象的形式返回正确的URL。
我想从我的代码中获得图片的URL。我尝试了下面的方法,但是我遗漏了一些东西。
var url = 'http://graph.facebook.com/517267866/?fields=picture';
http.get(url, function(res) {
var fbResponse = JSON.parse(res)
console.log("Got response: " + fbResponse.picture);
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
运行此代码将产生以下结果:
undefined:1
^
SyntaxError: Unexpected token o
at Object.parse (native)
发布于 2012-08-06 18:27:43
http.get()
回调中的res
参数不是主体,而是一个http.ClientResponse对象。你需要组装车身:
var url = 'http://graph.facebook.com/517267866/?fields=picture';
http.get(url, function(res){
var body = '';
res.on('data', function(chunk){
body += chunk;
});
res.on('end', function(){
var fbResponse = JSON.parse(body);
console.log("Got a response: ", fbResponse.picture);
});
}).on('error', function(e){
console.log("Got an error: ", e);
});
发布于 2015-08-31 08:47:30
我认为对于像这样的简单的超文本传输协议请求,最好使用request
module。你需要用npm (npm install request
)安装它,然后你的代码会是这样的:
const request = require('request')
,url = 'http://graph.facebook.com/517267866/?fields=picture'
request(url, (error, response, body)=> {
if (!error && response.statusCode === 200) {
const fbResponse = JSON.parse(body)
console.log("Got a response: ", fbResponse.picture)
} else {
console.log("Got an error: ", error, ", status code: ", response.statusCode)
}
})
发布于 2018-01-01 00:44:01
我使用的get-json使用起来非常简单:
$ npm install get-json --save
导入get-json
var getJSON = require('get-json')
要执行GET
请求,您需要执行以下操作:
getJSON('http://api.listenparadise.org', function(error, response){
console.log(response);
})
https://stackoverflow.com/questions/11826384
复制相似问题