“fields = installed”回应我所有的朋友

时间:2013-12-19 01:59:59

标签: javascript facebook facebook-graph-api

我目前正在使用JS Facebook API处理应用程序(目前尚未公开,可能相关),我们应该是2人使用该应用程序。

我希望得到所有正在使用该应用程序的朋友,但是当我这样做时:

FB.api('me/friends?fields=installed,name,id',function(response){
    console.log(response);
});

或:

FB.api('me/friends', { fields: 'id, installed'},function(response){
    console.log(response);
});

它归还了我所有的朋友。 你知道为什么吗?

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

看看this question的答案。它说查询返回所有朋友。但是,对于使用该应用程序的朋友,附加字段installed:true。这意味着,如果特定条目缺少此附加字段,则该用户未使用您的应用程序。

结果将类似于:

{
  "data": [
    {
      "id": "{UID1}"
      "name": "{name1}"
    }, 
    {
      "id": "{UID2}"
      "name": "{name2}"
    }, 
    .
    . 
    .
    {
      "installed": true, 
      "id": "{UIDN}"
      "name": "{nameN}"
    }
}

因此,您只需检查结果中是否存在 installed:true ,即可找出列表中的所有用户正在使用您的应用程序。

来源:Replacement for old GetAppUsers call to see a user's friends who use my application?

答案 1 :(得分:0)

你错过了第一个/吗?

尝试:

FB.api('/me/friends', {fields: 'id, installed'}, function(response) {
  console.log(response);
});

这篇文章也可能有所帮助:

How to find only facebook app installed friends?