I am trying to get the facebook profile picture of the user logged into my application. Facebook's API states that http://graph.facebook.com/517267866/?fields=picture
returns the correct URL as a JSON object.
I am a beginner with Node.js and I want to get the URL to the picture out of my code. I tried the following but I am missing something here.
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);
});
Edit: Running this code results in the following:
undefined:1
^
SyntaxError: Unexpected token o
at Object.parse (native)
The res
argument in the http.get()
callback is not the body, but rather an http.ClientResponse object. You need to assemble the body:
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 response: ", fbResponse.picture);
});
}).on('error', function(e) {
console.log("Got error: ", e);
});