Как получить друзей facebook из API facebook с помощью node.js

Я работаю над проектом с подключением facebook в node.js. Все отлично работает, но теперь я хочу получить список друзей из facebook для подключенного пользователя, у меня есть токен доступа от пользователя но я не знаю, как начать получать данные из facebook

Любая помощь?

Ответы

Ответ 1

Работа с API facebook из node.js очень проста, создайте модуль (например: 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 текущего пользователя и функцию обратного вызова, которая будет вызываться, когда данные готова.