ios - Facebook iOS SDK - 获取用户相册

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

我在我的 iPhone 应用程序中使用 Facebook SDK。我想找到用户的 Facebook 个人资料照片,为此我使用以下代码:

-(IBAction)FacebookLogin:(id)sender{
    if (FBSession.activeSession.isOpen) {

        [self findAlbums];
    } else {
        NSArray *permissions = [[NSArray alloc] initWithObjects:@"user_photos",
                                nil];

        [FBSession openActiveSessionWithPermissions:permissions
                                       allowLoginUI:YES
                                  completionHandler:^(FBSession *session,
                                                      FBSessionState status,
                                                      NSError *error) {
                                      // if login fails for any reason, we alert
                                      if (error) {


                                      } else if (FB_ISSESSIONOPENWITHSTATE(status)) {

                                          [[FBRequest requestForMe] startWithCompletionHandler:
                                           ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
                                               if (!error) {
                                                   [self findAlbums];

                                               }
                                           }];
                                      }
                                  }];
    }
}

-(void)findAlbums {
    [FBRequestConnection startWithGraphPath:@"/me/albums"
                                 parameters:nil
                                 HTTPMethod:@"GET"
                          completionHandler:^(
                                              FBRequestConnection *connection,
                                              id result,
                                              NSError *error
                                              ) {
                              /* handle the result */
                              NSLog(@"result::%@",result);
                          }];

}

Out put ---- data = ( );

这不会在数据中给出任何相册。登录的 Facebook 用户在他的个人资料中有很多相册和照片。为什么会这样?

最佳答案

只需将查找相册中的代码更改为:

        [FBRequestConnection startWithGraphPath:@"me/albums"
                      completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                          if (!error) {
                              // Success! Include your code to handle the results here
                              NSLog(@"user events: %@", result);
                              NSArray *feed =[result objectForKey:@"data"];

                              for (NSDictionary *dict in feed) {

                                  NSLog(@"first %@",dict);

                              }
                          } else {
                              // An error occurred, we need to handle the error
                              // Check out our error handling guide: https://developers.facebook.com/docs/ios/errors/
                              NSLog(@"error %@", error.description);
                          }
 }];

关于ios - Facebook iOS SDK - 获取用户相册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25364967/

相关文章:

ios - 使用 UIPanGestureRecognizer 在 Swift 中进行左侧导航

objective-c - 我如何访问 swift 文件中的 objective-c block

javascript - Facebook 身份验证打开选项卡而不是 Chrome 59 中的弹出窗口

ios - UITableView 或 UICollectionView 提供类似 Siri 的简单用户体验

iOS api 调用本地 RESTful Django 失败

objective-c - _Nullable 和 _Nonnull 是否对 Swift 互操作以外的任何东西有用?

facebook - 如何管理用户 facebook "managed pages"?

javascript - (#601) 解析器错误 : unexpected end of query - Javascript FB. API

ios - 如何使用 Xcode 5 将预编译静态库的调试符号与源代码匹配?

iphone - iOS Facebook 登录但无法连接?