【问题标题】:Facebook iOS SDK v4.0, get friends listFacebook iOS SDK v4.0,获取好友列表
【发布时间】:2015-04-02 21:31:42
【问题描述】:

Facebook iOS SDK v4.0 似乎有很多变化。我尝试在登录后获取用户的好友列表。 我认为这与 FBSDKGraphRequestConnection 有关,但我不确定如何使用它。

另外,如果我只想结交正在使用我的应用的朋友,facebook sdk 是否支持?

谁能举一些例子?谢谢!

【问题讨论】:

    标签: ios facebook facebook-graph-api


    【解决方案1】:
    FBSDKGraphRequest *friendsRequest = 
        [[FBSDKGraphRequest alloc] initWithGraphPath:@"me/friends"
                                          parameters:parameters];
    FBSDKGraphRequestConnection *connection = [[FBSDKGraphRequestConnection alloc] init];
    [connection addRequest:friendsRequest
         completionHandler:^(FBSDKGraphRequestConnection *innerConnection, NSDictionary *result, NSError *error) {
             ...
         }];
    // start the actual request
    [connection start];
    

    【讨论】:

    • 结果返回刚好25个好友,还有一个paging参数,如何使用paging获取下一个好友或者如何获取所有好友
    • 参数是什么?
    【解决方案2】:

    这显示了如何处理响应:

    [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me/friends" parameters:nil]
     startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error)
    {
         if (!error)
         {
            NSArray * friendList = [result objectForKey:@"data"];
            for (NSDictionary * friend in friendList)
            {
                NSLog(@"Friend id: %@", friend[@"id"]);
                NSLog(@"Friend name: %@", friend[@"name"]);             
            }
        }
    }];
    

    【讨论】:

      【解决方案3】:

      我使用下面的代码来获取好友列表

      self.graphrequest = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me/taggable_friends?limit=100"
                                                       parameters:@{ @"fields":@"id,name,picture.width(100).height(100)"}];
      [self.graphrequest startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
          if (!error) {
              self.resultsArray = result[@"data"];
              [self.fbTableView reloadData];
              [self.fbTableView setHidden:NO];
          } else {
              NSLog(@"Picker loading error:%@",error.userInfo[FBSDKErrorLocalizedDescriptionKey]);
          }
      }];
      

      您可以使用limit关键字限制好友数量。例如:limit=100

      【讨论】:

        猜你喜欢
        • 2011-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-05
        • 1970-01-01
        相关资源
        最近更新 更多