1

我只需要使用适用于 iOS 的 Facebook 图形 API 图形 API 为用户获取好友总数。

我看到了显示如何检索用户列表(例如名称)的示例。但是,就我而言,我不需要获取好友列表,我只需要获取好友总数即可。因此,我认为获取整个列表只是为了计算总数是低效的。

任何提示我如何使用适用于 iOS 的 acebook graph API graph API 来获取朋友总数。

4

2 回答 2

2

我找到了答案,只需使用 FBL 查询:SELECT friend_count FROM user WHERE uid = me()

所以完整的代码将是:

- (void)queryButtonAction {

    NSString *query =@"SELECT friend_count FROM user WHERE uid = me()";

    // Set up the query parameter
    NSDictionary *queryParam =
    [NSDictionary dictionaryWithObjectsAndKeys:query, @"q", nil];
    // Make the API request that uses FQL
    [FBRequestConnection startWithGraphPath:@"/fql"
                                 parameters:queryParam
                                 HTTPMethod:@"GET"
                          completionHandler:^(FBRequestConnection *connection,
                                              id result,
                                              NSError *error) {
                              if (error) {
                                  NSLog(@"Error: %@", [error localizedDescription]);
                              } else {
                                  NSLog(@"Result: %@", result);
                                  // show result
                                  NSArray *friendInfo = (NSArray *) [result objectForKey:@"data"];
                                  NSLog(@"result=%@",[friendInfo objectAtIndex:0]);
                                  NSDictionary *friend_count =[friendInfo objectAtIndex:0];
                                  NSString *numberoff= [friend_count objectForKey:@"friend_count"];
                                   NSLog(@"Result2: %@", numberoff);
                              }
                          }];
}
于 2013-03-23T10:45:31.223 回答
1

重要的是要理解,结果可能会有所不同。

虽然 user_count 的 FQL 查询将为您提供朋友的实际数量(在您的个人资料中可见),但在图形 API 中计算朋友只会显示未完全禁用应用平台(在隐私设置/应用中)的朋友,例如我的朋友列表: 303 个“真正的朋友”,如果我算上图形 api 结果,只有 294 个!

于 2013-05-23T10:59:33.937 回答