2011-12-12 56 views

回答

24

一旦你授权用户和获得访问令牌,您可以快速确定哪些好友已经批准通过调用您的应用程序/me/friends?fields=installed

对于谁已授权应用的用户朋友们,结果会是这样的:

{ 
    "installed": true, 
    "id": "{USER_ID_GOES_HERE}" 
}, 

和谁尚未授权的应用程序的用户,结果会是这样的:

{ 
    "id": "{USER_ID_GOES_HERE}" 
}, 

如果您在iOS SDK中执行此操作,您将看不到确切的返回值,但SDK应将结果放入可以使用的数据结构中,并检查“已安装”项目的存在

您也可以要求不仅仅是“安装”等附加User object领域,但是这仅仅是一个简单的例子来告诉你如何获得使用该应用程序的朋友列表

+0

太好了,谢谢你。所以,当他们授权与Facebook的应用程序,我可以把他们的fb id在我的数据库中,以便他们可以在我的应用程序等等,或者是不允许的。如果我的应用程序和朋友一起,这是我能想到与Facebook用户结婚的唯一方式吗? – iamsmug

+0

嗯,是的,你可以在你自己的数据库中存储细节,并以这种方式匹配用户,我不确定你到底想要做什么,所以我不能给出一个意见,看它是否符合政策 - 许多应用程序都会有'你的脸书朋友X,Y,Z已经使用这个应用程序,点击这里添加他们作为朋友在应用程序'functionlity虽然 – Igy

4

我已经很解决了这个问题简单的方法

步骤1 =首次下载FbGraph API

步骤2 =使用此代码进行验证

NSString *client_id = @"XXXXXXXXXXXXXX";// App id 

//alloc and initalize our FbGraph instance 
self.fbGraph = [[FbGraph alloc] initWithFbClientID:client_id]; 

//begin the authentication process..... 
[fbGraph authenticateUserWithCallbackObject:self andSelector:@selector(fbGraphCallback:) 
        andExtendedPermissions:@"user_photos,user_videos,publish_stream,offline_access,user_checkins,friends_checkins"]; 

第3步=复制fbGraphCallback:从样本代码的方法,并在您控制器

步骤4 =使用此代码来获得朋友,它会给ü朋友的名单,谁也相同的应用程序安装它们看起来像

{ 
    "installed": true, 
    "id": "{USER_ID_GOES_HERE}" 
}, 

守则=

NSMutableDictionary *variables = [NSMutableDictionary dictionaryWithCapacity:4]; 

[variables setObject:@"installed" forKey:@"fields"]; 

FbGraphResponse *fb_graph_response = [fbGraph doGraphGet:@"me/friends" withGetVars:variables]; 

NSLog(@"getMeinstalled Friends: %@", fb_graph_response.htmlResponse); 

这就是它!!!!!!!!

+0

伟大的答案.....其真正简单的方法 – jorik

3

我知道“iPhone”被标记的问题,但还是这个答案可能会帮助别人谁将会来到这里:
的FQL查询来获取(只),谁也应用程序的用户的所有用户的朋友的ID是:

SELECT uid FROM user WHERE is_app_user=true AND uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 
相关问题