Meteor facebook API:缺少user_friends权限

时间:2016-01-29 12:24:39

标签: facebook facebook-graph-api meteor meteor-accounts

我在流星上使用了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是给定的权限。我错过了什么?

2 个答案:

答案 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']
    }
});