2016-05-28 4 views

答えて

2

ようconsole.log('user data ' + data);リターンを割り当てるとき

request({ 
     url: 'https://graph.facebook.com/v2.6/' + userId + '?fields=first_name,last_name&access_token=' + token, 
     method: 'GET', 
    }, function (error, response, body) { 
     console.log(error);  
    }).on('response', function (response) { 
     response.on('data', function (data) { 
      console.log('user data ' + data); // logs user data { 
               // "first_name": "Marcus", 
               // "last_name": "Green" } 

      var userData = { 
       firstName: data['first_name'], 
       lastName: data['last_name'] 
      }; 

      console.log(userData.firstName) // logs undefined 
     }) 
    }); 

同じことが起こります:

"user data{"first_name":"A","last_name":"B"}"

そしてません:

"user data[object Object]"

dataオブジェクトが文字列でないオブジェクトであること、を意味します。オブジェクトとして使用してフィールドにアクセスする場合は、まず次のように解析します。

var parsedData = JSON.parse(data); 
console.log(parsedData.first_name); // Logs first_name now 
関連する問題