当前位置: 首页 > 知识库问答 >
问题:

脸书阅读朋友列表没有给我完整的iOS SDK中的朋友列表[重复]

瞿子濯
2023-03-14

我正在使用社交框架检索脸书朋友列表。请看看我的以下代码,我是怎么做的,但它只给了我几个朋友,而不是全部。我检查了两个帐户,1个帐户有300个,它只返回我一个,一个帐户有50个,它只返回我3个。我也点击了下一页,但这是空的。

  NSArray *accounts = [_accountStore accountsWithAccountType:FBaccountType];
         //it will always be the last object with single sign on
         _facebookAccount = [accounts lastObject];


         ACAccountCredential *facebookCredential = [_facebookAccount credential];
         NSString *accessToken = [facebookCredential oauthToken];
         NSLog(@"Facebook Access Token: %@", accessToken);
         _facebookAccount = [accounts lastObject];
         _facebookToken = [facebookCredential oauthToken];
         //             _facebookToken = _facebookAccount.credential.oauthToken;
         NSLog(@"facebook account =%@",_facebookAccount);
         // Request friend list
         NSDictionary *param=[NSDictionary dictionaryWithObjectsAndKeys:@"picture,id,name,link,gender,last_name,first_name",@"fields", nil];

         SLRequest *friendsListRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
                                                            requestMethod:SLRequestMethodGET
                                                                      URL: [[NSURL alloc] initWithString:@"https://graph.facebook.com/me/friends"] parameters:param];
         friendsListRequest.account = _facebookAccount;
         [friendsListRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {

             // Parse response JSON
             NSError *jsonError = nil;
             NSDictionary *data = [NSJSONSerialization JSONObjectWithData:responseData
                                                                  options:NSJSONReadingAllowFragments
                                                                error:&jsonError];
             NSMutableArray * fbFriends=[[NSMutableArray alloc] init];
             for (NSDictionary *friend in data[@"data"]) {

                 NSLog(@"name: %@", friend[@"name"]);
                 [fbFriends addObject:friend];
             }
             [[NSUserDefaults standardUserDefaults] setObject:fbFriends forKey:@"FBFriends"];

         }];

请建议我做错什么。提前致谢。

共有2个答案

太叔坚
2023-03-14
FBRequest* friendsRequest = [FBRequest requestForMyFriends];

[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,NSDictionary* result,NSError *error)
 {
     NSArray* friends = [result objectForKey:@"data"];
     //NSLog(@"%@",friends);

     [app.Arr_Facebook_Frnd removeAllObjects];

     // CREATE ARRAY OF ALL FRIEND LIST OF FACEBOOK

     for (int i=0; i < [friends count]; i++)
     {
         // ADD IMAGE URL IN ARRAY
         NSString *s1=[NSString stringWithFormat:@"%@",[[friends objectAtIndex:i] objectForKey:@"first_name"]];
         NSString *s2=[NSString stringWithFormat:@"%@",[[friends objectAtIndex:i] objectForKey:@"id"]];
         NSString *s3=[NSString stringWithFormat:@"%@",[[friends objectAtIndex:i] objectForKey:@"last_name"]];
         NSString *s4=[NSString stringWithFormat:@"%@",[[friends objectAtIndex:i] objectForKey:@"name"]];
         NSString *s5=[NSString stringWithFormat:@"%@",[[friends objectAtIndex:i] objectForKey:@"username"]];
         NSString *s6=[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?", [[friends objectAtIndex:i] objectForKey:@"id"]];

         NSMutableDictionary *dictFriend=[[NSMutableDictionary alloc]init];
         [dictFriend setObject:s1 forKey:@"first_name"];
         [dictFriend setObject:s2 forKey:@"id"];
         [dictFriend setObject:s3 forKey:@"last_name"];
         [dictFriend setObject:s4 forKey:@"name"];
         [dictFriend setObject:s5 forKey:@"username"];
         [dictFriend setObject:s6 forKey:@"ImgUrl"];

         [app.Arr_Facebook_Frnd addObject:dictFriend];

         [dictFriend release];

     }
     [app.Arr_Facebook_Frnd retain];

     NSSortDescriptor *sortDescriptor;
     sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
     NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
     [app.Arr_Facebook_Frnd sortUsingDescriptors:sortDescriptors];
     [sortDescriptor release];


     [self.indicator stopAnimating];
 }];
钱选
2023-03-14

如果你的应用不是游戏,这可能是正常的行为。

看看这个答案:

脸书图表 Api v2.0 - /me/好友返回空的,或仅返回也使用我的应用程序的好友

 类似资料:
  • 问题内容: 如何使用Twitter4J获取朋友或关注者的朋友列表? 使用,我只能检索已通过身份验证的当前用户的朋友/关注者列表。我想要的是获取关注者的朋友列表或经过身份验证的用户的朋友列表。 问题答案:

  • 为了了解在朋友关系中使用Neo4J的优势,我在MySQL数据库上创建了一个Persons表(“Persons”,20900个数据集): 和一张关系表(“友谊”,每个人有50到100个朋友): 因此,大约有120万人的关系。 现在我想查看id=1的人的朋友的朋友的朋友的朋友,因此我创建了一个如下查询: 用户ID 1的查询用了大约30秒 在Neo4J中,我为每个人创建了一个节点(20900个节点)和一

  • 问题内容: 我正在研究“可能的朋友”功能。在这里,我需要向不是我的朋友的所有朋友显示所有朋友,也不要发送给我或没有我的待处理请求 对于每一次友谊,我都会做两个记录。假设用户1和2成为朋友…我要在表中做一个记录,再做一个。 当第一个用户发送请求时,将状态设置为0,而当朋友接受请求时,我将两行都更新为1 如何根据朋友的朋友进行建议“可能的朋友”的sql查询? 问题答案: 在这里,您…简单加入

  • 问题内容: 我有一个类似于myspace / facebook的社交网络。在我的代码中,您不是一个人的朋友,还是不是一个朋友,因此,我显示了您与之成为朋友的人的所有操作(在此帖子中,我将这些操作单独称为公告帖子,以使其更易于可视化。 因此,您每当有人发布公告时,都会向在那里的任何朋友显示。 在mysql中,您可以通过执行以下操作来获得个人朋友列表, 我想知道像facebook之类的网站如何显示您的

  • 问题内容: 我在Twitter好友/列表API中得到 响应。登录时获取用户ID,屏幕名称,authToken和authTokenSecret。 输出: 发送API 所需的参数是什么?在本文档中,给定的所有参数都是可选的。 https://developer.twitter.com/zh-CN/docs/accounts-and-users/follow-search- get-users/api-

  • 问题内容: 我正在尝试从用户表中提取数据,并且需要“朋友之友”,这些人与所选用户相距两步 但未直接连接到所选用户 我尝试了以下查询: 我不知道如何拉未直接连接到所选用户的用户。我得到了当前用户的朋友的所有朋友,但是我 也 得到了当前用户的直接朋友。 问题答案: 您只需要排除既是直接朋友又是朋友的人。我已经重新排列了表别名,这样(无论如何对我来说)就更清楚了要检索的内容: 它还消除了排除要查询的用户