Reputation: 83
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
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