2012-04-20 5 views
1

Я пользуюсь Facebook iOS SDK, и я получил список друзей пользователя. Теперь у меня есть имя и имя каждого друга.iOS Facebook SDK - Извлечь друзей Profile Profile

Я хотел бы получить фотографию профиля друга, возможно ли это?

Спасибо!

ответ

12

Вы можете использовать этот URL, чтобы принести эту картину

http://graph.facebook.com/IdOfTheUer/picture?type=normal

Вы также можете использовать свое имя пользователя так:

Например

http://graph.facebook.com/facebook/picture?type=normal

http://graph.facebook.com/11239244970/picture?type=normal

+0

Спасибо, но по какой-то причине, я получаю «пустую» фотографию при попытке получить друг фотографию, не все из них ... – jkigel

+0

Есть ли образец/ссылка для загрузки загруженных фотографий и видео в face-book sa, а также в твиттере? – Wish

+0

Не делает Facebook (приложение на телефоне и любые звонки, которые мы делаем с ним) кэширует изображение, и в этом случае время поиска будет меньше, если мы его вызываем, а не напрямую отправляем HTTP-запрос. Если в SDK Facebook есть кеширование отображаемых изображений пользователя, как его можно получить? – javatarz

3
-(void)fbFriends { 
     [self.facebook requestWithGraphPath:@"me/friends" andDelegate:self]; 
    } 
    -(void)fbFriendsInfo :(NSString *)profileid { 
     [self.facebook requestWithGraphPath:profileid andDelegate:self]; 
    } 


    - (void)request:(FBRequest *)request didLoad:(id)result{ 
     [self hideSpinner]; 

     lblGender.text = [result objectForKey:@"gender"]; 
     lblName.text = [result objectForKey:@"name"]; 
     self.idi = [result objectForKey:@"id"]; 

     NSString *first_name = [result objectForKey:@"first_name"]; 
     NSString *gender = [result objectForKey:@"gender"]; 
     NSString *last_name = [result objectForKey:@"last_name"]; 
     NSString *link = [result objectForKey:@"link"]; 
     NSString *name = [result objectForKey:@"name"]; 
     NSString *updated_time = [result objectForKey:@"updated_time"]; 

     NSLog(@"Profile Info : \n\n%@,\n%@,\n%@,\n%@,\n%@,\n%@,\n%@",first_name,gender,idi,last_name,link,name,updated_time); 

     UIAlertView *alert = [[UIAlertView alloc]initWithTitle:AlertName message:@"Facebook Done." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
     [alert show]; 
     [alert release]; 
    } 

Use Share Controller Класс и вызов fbFriends Итак, вы получите имя друга, а затем позвоните по номеру fbFriendsInfo, он вернет всю информацию вашего друга.

+0

Спасибо за ваш ответ, у меня есть идентификатор друга, проблема в том, что когда я пытаюсь получить профиль профиля друга, иногда я получаю «пустую» фотографию профиля, хотя я должен иметь доступ к его профилю – jkigel

10

В cellForRowAtIndexPath вы получаете идентификатор пользователя facebook уже ..... am i right ??? после этого всего использовать сильфон URL, чтобы получить профайл через URLRequest ....

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if([friends count]!=0) 
    {       
     NSString *strurl = [[NSString alloc] initWithFormat:@"https://graph.facebook.com/%@/picture",[[friends objectAtIndex:indexPath.row] objectForKey:@"id"]]; 
     NSURL *url=[NSURL URLWithString:strurl];///here you can retrive the image 
     [cell setObjItem:url title:[[friends objectAtIndex:indexPath.row] objectForKey:@"name"]]; 
     // Configure the cell. 
    } 
    else 
    { 
     NSLog(@"<<<<<<<<<<------Array Null-------->>>>>>>"); 
    } 
    return cell; 
} 
+0

Спасибо, но, как я уже говорил; Иногда я получаю изображение профиля друга как «пустую» картинку, означает силуэт белого человека на светло-голубом фоне, который предоставляет Facebook, пока вы не загружаете никакого изображения профиля. – jkigel

+0

да, этот url fetch pic fbuser, который отображается на facebook поэтому, если пользователь не выбирает профиль pic и его пропуская пробел, то FB по умолчанию pic со светло-голубым фоном появляется по умолчанию PIC By FB bt what u want ?? –

+0

Просто предложение, вы выделяете 'strurl', но не выпускаете его, подумайте также о выпуске. или просто используйте '[NSString stringWithFormat]' –

Смежные вопросы