2015-04-17 78 views
0

我正在使用解析包括Facebook SDK,我需要顯示給定用戶的相冊列表。我可以correttly拿到相冊列表:Facebook iOS SDK:獲取相冊的封面圖片

[FBRequestConnection startWithGraphPath:[NSString stringWithFormat:@"/%@/albums", self.facebookUserId] 
          completionHandler:^( FBRequestConnection *connection, id result, NSError *error) 
     { 
      // result will contain an array with your user's albums in the "data" key 
      NSArray * albumsObjects = [result objectForKey:@"data"]; 
      NSMutableArray * albums = [NSMutableArray arrayWithCapacity:albumsObjects.count]; 

      for (NSDictionary * albumObject in albumsObjects) 
      { 
       //DO STUFF 
      } 
      self.albums = albums; 
      [self.tableView reloadData]; 
     }]; 

此時的每張專輯,我需要得到它的封面圖片。 專輯對象有一個id字段和一個cover_photo之一。我試圖與這兩個作爲參數的圖形查詢相同的結果:resultnil

NSDictionary *params = @{ @"type": @"album"};//, @"access_token": [[PFFacebookUtils session] accessToken]}; 

[FBRequestConnection startWithGraphPath: [NSString stringWithFormat:@"/%@/picture", album.coverPath] 
          parameters:params 
          HTTPMethod:@"GET" 
         completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 

          NSString * urlString = [result objectForKey:@"url"]; 
          NSURL *url = [NSURL URLWithString:urlString]; 
          NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

          [cell.imageView setImageWithURLRequest:request 
               placeholderImage:placeholderImage 
                 success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { 

                  weakCell.imageView.image = image; 
                  [weakCell setNeedsLayout]; 

                 } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) { 
                  NSLog(@"%@",error.debugDescription); 
                 }]; 
         }]; 

我在的appdelegate [PFFacebookUtils initializeFacebook];和我有管理是在所有其他palces完美的工作會議。

而這些都是在登錄

@[@"user_about_me", @"email", @"user_birthday", @"user_location" ,@"user_friends", @"publish_actions", @"user_photos", @"friends_photos"]

想法,我需要的權限? 也在文檔 https://developers.facebook.com/docs/graph-api/reference/v2.3/album/picture 它說使用album-id,但那麼cover_photo id是什麼?

+1

閱讀我的答案...答案爲2.4 api ...可能會有所幫助......... http://stackoverflow.com/questions/30207465/ios-facebook-album-photos-picker/ 31789234#31789234 –

回答

2

這有點奇怪,但是當我在圖API API瀏覽器中嘗試/<id>/picture時,它會自動將?redirect=false附加到請求中。和你的情況類似,當我從Objective-C對這個邊進行Graph API調用時,它給了我null。因此,從圖形API瀏覽器得到一個提示,我嘗試將這個參數附加到我的請求中,這實際上使它工作。嘗試添加它,看看它是否工作。所以,你的情況:

[NSString stringWithFormat:@"/%@/picture?redirect=false", album.coverPath] 

響應看起來是這樣的:

{ 
    data =  { 
     "is_silhouette" = 0; 
     url = "https://fbcdn-sphotos-f-a.akamaihd.net/hphotos..."; 
    }; 
} 

您可以從這裏dataurl領域這應該給你的封面照片。

相關問題