我在流星上使用了account-facebook和fbgraph包, 我的服务配置如下所示:
{ _id: 'zDCcCKawiBFrgLQ8Q',
service: 'facebook',
appId: edited,
secret: edited,
requestPermissions: [ 'user_friends' ] }
我在登录时获得访问令牌,可以获得电子邮件和公共配置文件,但我的权限只包括这些权限,而不包括user_friends:
{ data:
[ { permission: 'email', status: 'granted' },
{ permission: 'public_profile', status: 'granted' } ] }
我认为user_friends是给定的权限。我错过了什么?
答案 0 :(得分:2)
通过重写loginWithFacebook来解决:
Template.third_party.events({
"click .btn-facebook": function(e, t){
Meteor.loginWithFacebook({
requestPermissions: ['email', 'user_friends']
}, function (err) {
if (err)
Session.set('errorMessage', err.reason || 'Unknown error');
});
}
});
第三方是包含facebook按钮的模板。
答案 1 :(得分:1)
更好的解决方案是在客户端代码中包含以下配置:
Accounts.ui.config({
requestPermissions: {
facebook: ['user_friends']
}
});