Geromephoto
Geromephoto

Reputation: 83

How to use facebook api call in meteorjs to load bio into user profile?

I am trying learn how to add facebook data to my meteorjs project, so I can automatically fill in most user details such as bio. I have successfully got permissions to work and registered it as a test on facebook with localhost:3000 as domain/url. On the server side I have this:

 ServiceConfiguration.configurations.remove({
            service: 'facebook'
        });

        ServiceConfiguration.configurations.insert({
            service: 'facebook',
            appId: '11111111111111',
            secret: '11111111111111111'
        });
      });



Accounts.onCreateUser(function(options, user) {

options.profile = {};

options.profile.first = user.services.facebook.first_name;  
options.profile.last = user.services.facebook.last_name;
options.profile.relationship_status = user.services.facebook.relationship_status;
options.profile.religon = user.services.facebook.religon;

options.profile.quotes = user.services.facebook.quotes;

options.profile.city = user.services.facebook.location.city;

options.profile.cellnumber = "";

options.profile.bio = user.services.facebook.bio;
options.profile.university = user.services.facebook.education.school.name;
options.profile.faculty = user.services.facebook.education.concentration.name;
options.profile.graduation = user.services.facebook.education.year.name;


user.profile = options.profile;


return user;

});

Facebook Permissions:

Accounts.ui.config({
  requestPermissions: {
     facebook: ['user_friends', 'user_about_me', 'user_education_history', 
                'user_relationships','user_actions.fitness', 'user_actions.music','user_birthday',
                'user_location','user_likes', 'user_photos', 'user_relationship_details','user_religion_politics',
                 'user_work_history','publish_actions','rsvp_event', 'public_profile']
  }
});

How do I use FB api call to load FB bio into the user creation function?

Upvotes: 0

Views: 280

Answers (1)

juliancwirko
juliancwirko

Reputation: 1282

There are some examples in the s-id package: http://s-id.meteor.com/

For example:

Accounts.onCreateUser(function (options, user) {
    if (user.services.facebook) {

        user.username = user.services.facebook.email;
        user.emails = [];
        user.emails.push({
            address: user.services.facebook.email,
            verified: true
        });

        return user;
    }
    return user;
}

So if there is a user.service.facebook.bio you can take it and place it on your user.bio field like:

user.bio = user.services.facebook.bio;

Upvotes: 1

Related Questions