我试图通过他们的API获得Facebook用户的名字。 这是我的代码
var user = request("https://graph.facebook.com/v2.6/"+psid+"?fields=first_name,last_name&access_token="+token, function(err, res, body) {
console.log("name: " + body.first_name);
console.log("body: " + body);
});
结果如下:
name: undefined
body: {"first_name":"Anton","last_name":"Rosato"}
为什么名称未定义?
答案 0 :(得分:1)
它是未定义的,因为body是一个字符串。在尝试读取first_name之前强制转换body = JSON.parse(body)
。
答案 1 :(得分:1)
您可以关注@yBrodsky建议或将选项对象添加到请求中
{json:true}
。这将自动将“Content-type:application / json”添加到您的请求中并以json的形式解析响应。
reqeust.get(url, {json:true}, callbalck)
https://www.npmjs.com/package/request#requestoptions-callback