다음 요청을 수행하는 nodejs에서 Graph API를 사용하여 Facebook 사용자 프로필 정보를 얻으려고합니다.Javascript 객체가 undefined를 반환합니다. NodeJs
var url = 'https://graph.facebook.com/v2.6/' + id
var qs = {fields:'first_name,last_name',access_token:token}
request({
url: url,
method: 'GET',
qs
}, function(err, response, body){
var name = body.first_name
var message = "Hey there " + name
})
}
서버에서 요청 응답은 그러나, 이름이 정의로 반환이
{
"first_name": "Peter",
"last_name": "Chang"
}
것 같습니다. 하지만 내가 이렇게 전화하면. 이는이 같은 출력을 제공
var url = 'https://graph.facebook.com/v2.6/' + id
var qs = {fields:'first_name,last_name',access_token:token}
request({
url: url,
method: 'GET',
qs
}, function(err, response, body){
var name = body
name = JSON.jsonstringify(body)
var message = "Hey there " + name
})
}
,
첫 번째 예로서 미정Hey there {"statusCode":200,"body":"{\"first_name\":\"Peter\",\"last_name\":\"Chang\"}"}
왜 이름이 리턴된다. 내가 도대체 뭘 잘못하고있는 겁니까? 제발 누군가 설명 할 수 있습니다. 감사합니다
firstlevel'body' 키도 있습니다. 그래서,'name = body.body.first_name' –
서버 응답이 first_name/last_name 만 포함하면 body.first_name은 괜찮을 것이라고 생각합니다. 그 이유는 body.body가있는 것처럼 보입니다. 왜냐하면 요청은 body 변수 (즉 상태 코드 등)에서 전체 응답을 반환하기 때문입니다. – MrWillihog