我正在尝试获取登录到我的应用程序中的用户的Facebook个人资料图片。Facebook的API声明http://graph.facebook.com/517267866/?fields=picture返回正确的URL作为JSON对象。
http://graph.facebook.com/517267866/?fields=picture
我想从代码中获取图片的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)
回调中的res参数http.get()不是正文,而是一个http.ClientResponse对象。您需要组装车身:
res
http.get()
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); });