Facebook应用程序用户列表

Facebook应用程序用户列表,facebook,facebook-graph-api,facebook-fql,Facebook,Facebook Graph Api,Facebook Fql,我对Facebook的api相当陌生。我想获得一份也安装了我的应用程序的朋友列表。这样你就可以开始和他们玩游戏了 下面列出了我的朋友名单: FB.api“/me/friends”。。。 这将提供我的应用程序信息: FB.api'/myappid'。。。 我想要的是我的朋友谁也安装了这个应用程序 我想可能是这样的: FB.api“/myappid/accounts”。。。 我希望这至少会给我的开发人员、管理员或测试人员带来好运,但没有这样的运气。 我的感觉是,也许我必须使用FQL来构造一个表示如

我对Facebook的api相当陌生。我想获得一份也安装了我的应用程序的朋友列表。这样你就可以开始和他们玩游戏了

下面列出了我的朋友名单:

FB.api“/me/friends”。。。 这将提供我的应用程序信息:

FB.api'/myappid'。。。 我想要的是我的朋友谁也安装了这个应用程序

我想可能是这样的:

FB.api“/myappid/accounts”。。。 我希望这至少会给我的开发人员、管理员或测试人员带来好运,但没有这样的运气。

我的感觉是,也许我必须使用FQL来构造一个表示如下内容的查询

伪代码 选择 从我的朋友那里 uid在哪里 选择uid 来自应用程序用户 其中appid=myappid 如有任何建议,将不胜感激

请注意,我看到了以下帖子:

我保留了一份属于我网站的Facebook用户ID的本地列表,我实际上可以通过以下方式实现我的目标,但我相信一定有更好的方法:

$facebookFriendIds=数组; $friends=$this->facebook->api'/me/friends'; foreach$friends['data']作为$friends{ $facebookFriendIds[]=$friend['id']; } $this->friends=doctor\u Core::getTable'User'->createQuery ->其中'fb_user_id',$facebookFriendIds ->执行;
这就是我相信的FQL查询

$facebook->apirarray'method'=>'fql.query','query'=>从用户中选择uid,其中是\u app\u user='1',在朋友中选择uid2,其中uid1='$用户_id

我使用java和JSAPI,因此语法可能不完全正确

用户和朋友查询的文档如下:

在JS中使用此查询

function getAppFriends()
{

    var fql = "SELECT uid, name, pic_square, is_app_user 
               FROM user 
               WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 
               OR uid IN(SELECT uid1 FROM friend WHERE uid2=me()) 
               ORDER BY  name";

    var query = FB.Data.query(fql);

    query.wait(function(responseFromFb){

       if(responseFromFb!=null){

           // Read the responseFromFb and check for 
           // is_app_user = true and list them out the way 
           // you want to.

       }

    });// anonymus function closes here
} //function ends here