2012-10-28 25 views

Odpowiedz

22

Praca z facebook API od node.js jest bardzo proste, należy utworzyć moduł (na przykład: facebook.js)

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(); 
} 

Teraz, w kodzie zaimportować moduł Facebook (var facebook = require('./facebook.js');) i użyj go jak tutaj:

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

The getFbData() jest funkcją ogólną, można ją wywołać ze ścieżką żądania api (powiedzmy "/ me/friends"), przekazać access token bieżącego użytkownika i funkcję wywołania zwrotnego, która zostanie wywołana, gdy dane będą gotowe.

+1

Działa jak magia! Dziękuję! –

+0

Czy mogę zdobyć przyjaciół i wspólnych znajomych? więc jak? – learner

+0

To zadziałało dla mnie świetnie. Chociaż ważne jest, aby zdać sobie sprawę, że 'getFbData' zwraca ciąg znaków. Możesz następnie sparsować go do json z 'var json = JSON.parse (responseData);' – toddg

Powiązane problemy