2012-10-28 2 views
15

node.js에서 facebook으로 프로젝트에 연결하고 있습니다. 모든 것이 잘 작동하지만 지금은 연결된 사용자를 위해 페이스 북에서 친구의 목록을 얻으려면, 나는 사용자 에서 액세스 토큰을 가지고 있지만 난facebook friends에서 node.js로 facebook API를 가져 오는 방법

모든 페이스 북에서 데이터를 받기 시작하는 방법을 모른다 도움? (코드에 페이스 북의 모듈을 가져

facebook.js

var https = require('https'); 

exports.getFbData = function(accessToken, apiPath, callback) { 
    var options = { 
     host: 'graph.facebook.com', 
     port: 443, 
     path: apiPath + '?access_token=' + accessToken, //apiPath example: '/me/friends' 
     method: 'GET' 
    }; 

    var buffer = ''; //this buffer will be populated with the chunks of the data received from facebook 
    var request = https.get(options, function(result){ 
     result.setEncoding('utf8'); 
     result.on('data', function(chunk){ 
      buffer += chunk; 
     }); 

     result.on('end', function(){ 
      callback(buffer); 
     }); 
    }); 

    request.on('error', function(e){ 
     console.log('error from facebook.getFbData: ' + e.message) 
    }); 

    request.end(); 
} 

이제 var facebook = require('./facebook.js'); : Node.js를에서 페이스 북의 API 작업

답변

22

은 (facebook.js 예를 들어) 모듈을 만들고, 매우 간단합니다) 다음과 같이 사용하십시오.

facebook.getFbData('USER_ACCESS_TOKEN', '/me/friends', function(data){ 
    console.log(data); 
}); 

getFbData()은 일반적인 함수이므로 api 요청 경로 ('/ me/friends')에서 호출하고 현재 사용자의 access token을 전달하고 데이터 준비가되면 콜백 함수를 호출 할 수 있습니다.

+1

마법처럼 작동합니다! 고마워! –

+0

친구 나 친구를 사귈 수 있습니까? 그러면 어떻게? – learner

+0

이것은 나를 위해 훌륭했습니다. 'getFbData'가 문자열을 반환한다는 것을 깨닫는 것이 중요합니다. 그런 다음'var json = JSON.parse (responseData);를 사용하여 json으로 구문 분석 할 수 있습니다. – toddg

관련 문제