Facebook App用户列表

我是Facebook API的新手.我想得到一些我的朋友列表,他们也安装了我的应用程序. (你的想法就是可以和他们一起开始游戏).

这给出了我的朋友列表:

FB.api('/me/friends', ...

这给了我的应用信息:

FB.api('/myappid', ...

我想要的是“我的朋友也安装了这个应用程序”

我以为可能是这样的:

FB.api('/myappid/accounts', ...

我希望这至少会给我的开发人员,管理员或测试人员,但没有这样的运气.
    http://developers.facebook.com/docs/test_users/
    http://developers.facebook.com/docs/ApplicationSecurity/

我的感觉可能是我必须使用FQL来委托一个类似的查询

(psuedocode)
SELECT
FROM my_friends
WHERE uid IN (
    SELECT uid
    FROM app_users
    WHERE appid = myappid
)

任何建议将不胜感激.

注意,我看过这篇文章:
FaceBook app: retrieve list of ids of my application’s users

我保留了属于我网站的Facebook用户ID的本地列表,我实际上可以通过执行以下操作来实现我的目标,但我确信必须有更好的方法:

$facebookFriendIds = array();
$friends = $this->facebook->api('/me/friends');
foreach ($friends['data'] as $friend) {
    $facebookFriendIds[] = $friend['id'];
}

$this->friends = Doctrine_Core::getTable('User')->createQuery()
    ->whereIn('fb_user_id', $facebookFriendIds)
    ->execute();
这是我相信的FQL查询

$facebook-> api(array(‘method’=>’fql.query’,’query’=>“SELECT uid FROM user WHERE is_app_user =’1’AND uid IN(SELECT uid2 FROM friend WHERE uid1 =’ “.$user_id.”’);“));

(我使用java和JS API,因此语法可能不完全正确)

用户和好友查询的文档位于:

http://developers.facebook.com/docs/reference/fql/user/

http://developers.facebook.com/docs/reference/fql/friend/

相关文章
相关标签/搜索