【问题标题】:Facebook Get friends listFacebook 获取好友列表
【发布时间】:2014-11-15 15:48:48
【问题描述】:

我知道这里被问了很多,但我找不到合适的答案。

我正在使用Facebook SDK v3.18

我只是想获取用户好友列表和他们的照片。

到目前为止我已经尝试过:

登录:

FBLoginView *loginView =
    [[FBLoginView alloc] initWithReadPermissions:
     @[@"public_profile", @"email", @"user_friends"]];
    // Align the button in the center horizontally
    loginView.frame = CGRectOffset(loginView.frame, (self.view.center.x - (loginView.frame.size.width / 2)), (self.view.center.y - (loginView.frame.size.height / 2)));
    [self.view addSubview:loginView];

获取用户的好友列表和他们的照片:

[FBRequestConnection startWithGraphPath:@"/me/friends?fields=name,picture"
                             parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          id result,
                                          NSError *error
                                          ) {
                          /* handle the result */
                      }];

但答案是:

{
    data =     (
    );
    summary =     {
        "total_count" = 1216;
    };
}

并且不显示我朋友的名字或图片:/

请帮我解释一下。

提前致谢!

【问题讨论】:

    标签: ios objective-c iphone facebook facebook-graph-api


    【解决方案1】:

    你在下面试过了吗?

    FBRequest* friendsRequest = [FBRequest requestWithGraphPath:@"me/friends?fields=name" parameters:nil HTTPMethod:@"GET"];
        [friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,
                                                      NSDictionary* result,
                                                      NSError *error) {
            NSArray* friends = [result objectForKey:@"data"];
            NSLog(@"Found: %i friends", friends.count);
            for (NSDictionary<FBGraphUser>* friend in friends) {
                NSLog(@"I have a friend named %@ with id %@", friend.name, friend.id);
    
            }
            NSArray *friendIDs = [friends collect:^id(NSDictionary<FBGraphUser>* friend) {
                return friend.id;
            }];
    
     }];
    

    编辑:

    请查看这篇文章。

    Facebook Graph Api v2.0+ - /me/friends returns empty, or only friends who also use my app

    【讨论】:

    • 已编辑。我的错。请重试。
    • 相同:“找到:0 个朋友”
    • 很奇怪。我希望你已经添加了权限: NSArray *array = [NSArray arrayWithObjects:@"user_friends", nil];
    【解决方案2】:

    Facebook SDK page 看来,/me/friends 似乎只会返回您已登录并获得相同应用程序权限的朋友(即您和您的朋友需要允许您的应用程序通过登录来使用 facebook) .

    【讨论】:

    • 什么?我登录并批准了我的应用程序:/
    • 我明白这一点,但您的朋友也需要这样做。您只会让您的朋友做同样的事情 - 批准该应用程序。您是否有其他 FB 测试帐户可用于批准该应用?
    • 我认为这是另一回事。我想说的是,在使用 FacebookSDK 时,您只能获取实际授予相同 App ID 权限(或使用 facebook 登录)的登录用户的朋友。如果您创建了一个新的 facebook 帐户,并与它成为朋友,并使用这两个帐户登录并因此为您的应用程序提供所需的权限,您可以使用 /me/friends 获取一个或另一个。
    猜你喜欢
    • 2015-03-16
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    相关资源
    最近更新 更多