2010-09-24 18 views

Respuesta

16

Intente mirar más profundo a través de http://developers.facebook.com/docs/api. Aquí hay un enlace a hace Userpic:

http://graph.facebook.com/000000000/picture

Dónde 000000000 es un id de usuario conectado.

ACTUALIZACIÓN por Michael Gaylord: También puede añadir el tipo a la solicitud para obtener diferentes imágenes de tamaño. Por lo tanto, su solicitud tendrá el siguiente aspecto: http://graph.facebook.com/00000000/picture?type=large para una imagen grande. Otras opciones son pequeñas, normales y cuadradas.

+1

También puede añadir el tipo a la solicitud para obtener diferentes imágenes de tamaño. Por lo tanto, su solicitud tendrá el siguiente aspecto: http://graph.facebook.com/00000000/picture?type=large para una imagen grande. Otras opciones son pequeñas, normales y cuadradas. –

4

Aquí utiliza estos métodos delegados para obtener la imagen del usuario.

Cuando se crea la sesión obtendrá el método delegado pidió didLogin

- (void)session:(FBSession*)session didLogin:(FBUID)uid { 

    isLoginSuccessful = TRUE; 
    if(isLoginCanceled == FALSE) { 
     [self fetchUserDetails]; 
    } 
} 

- (void)sessionDidNotLogin:(FBSession*)session { 
    isLoginSuccessful = FALSE; 
    isLoginCanceled = TRUE; 
} 

- (void)sessionDidLogout:(FBSession*)session { 
    isLoginSuccessful = FALSE; 
    isLoginCanceled = TRUE; 
} 

- (void)fetchUserDetails { 

    NSString* fql = [NSString stringWithFormat: 
        @"select name,sex,pic from user where uid == %lld", _session.uid]; 

    NSDictionary* params = [NSDictionary dictionaryWithObject:fql forKey:@"query"]; 
    [[FBRequest requestWithDelegate:self] call:@"facebook.fql.query" params:params]; 
} 

después de llamar al método requestWithDelegate que obtendrá la respuesta en este método si éxito

- (void)request:(FBRequest*)request didLoad:(id)result { 
    if ([request.method isEqualToString:@"facebook.fql.query"]) { 
     NSArray* users = result; 
     NSDictionary* user = [users objectAtIndex:0]; 
       NSLog(@"User Details %@",user); 
     if(fbUserDetails == nil) { 
      self.fbUserDetails = [[NSDictionary alloc] initWithDictionary:user]; 
     } 
     if(isLoginSuccessful) { 
      NSString *fbUid = [NSString stringWithFormat:@"%lld",_session.uid]; 
      self.FBUserID = fbUid; 
      [_delegate loggedInFaceBookSuccessfully:fbUid]; 
     } 

    } 
} 

podrás Obtenga todos los detalles en formato json que puede ver en GDB

+0

thanx rahul its works ..... –

+0

Muestro la foto del perfil del usuario en UIWebView pero cubre una parte y quiero que la imagen cubra toda el área de la vista web. ¿Qué puedo hacer para resolverlo ... –

+0

Tengo solución ......... –

16

Creo que la manera más simple es esta:

NSString *fbuid = @"1234567890"; 
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?", fbuid]]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
UIImage *profilePic = [[[UIImage alloc] initWithData:data] autorelease]; 
Cuestiones relacionadas