如何使用相同的应用程序找到Facebook好友

时间:2011-12-12 13:35:08

标签: iphone facebook

我正在创建一个应用程序,并希望使用该应用程序的人在Facebook上使用相同的应用程序查找朋友。对此的任何帮助都会很棒。

我知道这可以做到。我在Instagram和Tiger Woods 12上看过它。

3 个答案:

答案 0 :(得分:24)

在您授权用户并获得访问令牌后,您可以通过拨打/me/friends?fields=installed

快速确定他们的哪些朋友已授权您的应用

对于已经授权该应用的用户朋友,结果将如下所示:

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

并且对于尚未授权该应用的用户,结果将如下所示:

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

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

除了“已安装”之外,您还可以请求其他User object字段,但这只是一个简单示例,向您展示如何获取使用该应用的朋友列表

答案 1 :(得分: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);

多数民众赞成!!!!!!!!

答案 2 :(得分:3)

我知道'iphone'已被标记在问题中,但这个答案仍然可以帮助其他人来到这里:
获取(仅)所有用户的朋友的ID的FQL查询是:也是该应用的用户:

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