在页面之后使用JS SDK获取好友列表

时间:2011-11-22 17:16:18

标签: facebook facebook-graph-api

我看到很多粉丝在我喜欢他们的页面之后得到我的朋友列表,没有任何权限对话框屏幕,我已经尝试了很多但是总是得到“需要异常令牌”。

所以有可能在用户喜欢我们的页面后获得用户好友列表吗?

由于

2 个答案:

答案 0 :(得分:0)

注意,我使用的是underscore.js(http://documentcloud.github.com/underscore/),没有冲突:

var UnderScore = _.noConflict();

此查询获取me()的朋友,该朋友目前已登录Facebook用户。您可以使用Facebook用户ID替换me()

获取朋友的代码:

    var friends = {handles:[],ids:[],names:[]};
    var q = 'select username, uid, name from user where '+
      'uid IN (SELECT uid2 FROM friend WHERE uid1 = me())';
    var r=FB.Data.query(q);
    r.wait(function(rows){
      if (UnderScore.isArray(rows) && (rows.length>0)) {
        UnderScore.each(rows,function(i){
          if (i.username && !UnderScore.isNull(i.username)) {
            friends.handles.push(i.username.toString().toLowerCase());
            if (i.name && !UnderScore.isNull(i.name)) {
              friends.names[i.username.toString().toLowerCase()] = i.name
            }
          }
          if (i.uid && !UnderScore.isNull(i.uid)) {
            friends.ids.push(i.uid.toString().toLowerCase());
            if (i.name && !UnderScore.isNull(i.name)) {
              friends.names[i.uid.toString().toLowerCase()] = i.name
            }
          }
        });
      }
    }

运行该代码后,这将是一个异步事件,变量friends将填充Facebook好友的ID,名称和句柄。

答案 1 :(得分:0)

这不是。您需要具有足够权限的当前用户ID才能获取用户的朋友列表,并且Facebook不会仅仅因为喜欢您的页面而共享用户的ID。

我不确定你正在谈论的这些页面是怎么做的,也许是使用旧的已弃用的FBML,但是再次...... 我不认为这是可能的用户授权