16

我正在使用 node.js 中的 facebook connect 开发一个项目。一切都很好,但现在我想从 facebook 获取连接用户的朋友列表,我有用户的访问令牌,但我不知道如何开始从 facebook 获取数据

有什么帮助吗?

4

1 回答 1

24

从 node.js 使用 facebook API 非常容易,创建一个模块(例如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();
}

现在,在您的代码中导入您的 facebook 模块 ( var facebook = require('./facebook.js');) 并像这里一样使用它:

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

getFbData()是一个通用函数,您可以使用您的 api 请求路径(例如“/me/friends”)调用它,传递access token当前用户的 和一个回调函数,以便在数据准备好时调用。

于 2012-10-28T13:04:04.517 回答