2017-10-17 9 views
0

私はfacebookユーザーのファーストネームをAPIで取得しようとしています。 これは私のコードNodejs、Request and Dot notation

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"} 

名が定義されていないのはなぜ?

+1

'あなたを与えますか? – Quentin

答えて

1

@yBrodskyのアドバイスに従うか、またはオプションオブジェクトをリクエストに追加することができます。 {json:true}これにより自動的に 'Content-type:application/json'がリクエストに追加され、jsonとして応答が解析されます。 `はconsole.log( "ボディタイプ:" + typeof演算身体を)何

reqeust.get(url, {json:true}, callbalck) 

https://www.npmjs.com/package/request#requestoptions-callback

+0

ありがとう、それは魅力のように動作します:) – xRobot

1

bodyは文字列なので、未定義です。 first_nameの読み取りを試みる前にbody = JSON.parse(body)をキャストしてください。

+0

json応答を取得する方法はありますか?ありがとう:) – xRobot

+0

それはまさにyBrodskyのコードが提供するものです。 – msanford

+0

私はRidgeAの答えを確認していません。あなたが体の中でjsonの反応を得るかどうかは分かりません。 – yBrodsky