空Facebook好友列表

时间:2014-05-18 16:03:56

标签: meteor facebook-javascript-sdk facebook-friends

所以我正在使用" Facebook-sdk"插入。我正在这样初始化Facebook:

FB.init({ appId: 'xxxxxxxxxxx', cookie: true, xfbml: true, oauth: true, status: true });

    FB.login(function(){ // get permissions
    }, {scope: 'user_friends, read_friendlists, user_photos, email, publish_actions  '});

    FB.getLoginStatus(function (response) { // to generate AccessToken
      if (response.authResponse) {
        console.log('LoginStatusResponse: ' + JSON.stringify(response, null, 4));
      } else {
        console.log('AuthResponse: No');
      }
    });

然后,在响应按钮点击事件时,我正在做:

'click #get_fb_friends' : function(event, template) {

    FB.api( 
      "/me/friends",
      function (response) {
        if (response && !response.error) {
          console.log('GOT them !!!' + JSON.stringify(response, null, 4));
          return response;
        } else {
          console.log('No can do' + JSON.stringify(response, null, 4));
        }
      });
  }

问题是我获得了一个空数据变量:

GOT them !!!{
    "data": []
} 

PS:查询"/me"会返回有关我自己的所有信息,而"/me/friends"则无效。

可以是权限问题吗?

2 个答案:

答案 0 :(得分:2)

几周前Facebook已经更改了它的api,你只能在他们亲自接受使用你的应用程序时访问你的朋友列表..无所事事

答案 1 :(得分:1)

就像@Wampie所说,API已经改变,因此您可以尝试使用v1 API(请记住,您需要请求新的访问令牌)。

您仍然可以使用apprequests方法邀请朋友加入您的应用。

FB.ui({
  method: 'apprequests',
  message: 'You should learn more about the Platform.'
}, function(){
  console.log(arguments);
});

此处示例: https://www.fbrell.com/fb.ui/apprequests