2010-09-24 7 views

Antwort

16

Versuchen Sie, tiefer durch http://developers.facebook.com/docs/api zu schauen. Hier ist ein Link zu userpic:

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

Wo 000000000 ist eine ID von angemeldeten Benutzers.

UPDATE von Michael Gaylord: Sie können auch die Art der Anforderung anhängen unterschiedlich große Bilder zu bekommen. Ihre Anfrage sieht dann so aus: http://graph.facebook.com/00000000/picture?type=large für ein großes Bild. Andere Optionen sind klein, normal und quadratisch.

+1

Sie auch die Art der Anforderung anhängen können unterschiedlich große Bilder zu bekommen. Ihre Anfrage sieht also wie folgt aus: http://graph.facebook.com/00000000/picture?type=large für ein großes Bild. Andere Optionen sind klein, normal und quadratisch. –

4

Hier verwenden Sie diese Delegate-Methoden, um das Bild des Benutzers zu erhalten.

Wenn Sie Sitzung erstellen erhalten Sie die delegierte Methode genannt bekommen 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]; 
} 

nach dem Aufruf der Methode requestWithDelegate Sie Antwort in diesem Verfahren erhalten werden erfolgreich sein, wenn

- (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]; 
     } 

    } 
} 

Sie über Holen Sie sich alle Details in JSON-Format können Sie in GDB

+0

thanx rahul seine funktioniert ..... –

+0

Ich zeige Benutzer Profil Bild in UIWebView, aber es deckt einen Teil davon ab und ich will Bild deckt gesamten Bereich von Webview. was kann ich tun, um es zu lösen .... –

+0

Ich bekomme Lösung ......... –

16

Ich denke, der einfachste Weg ist dies:

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]; 
Verwandte Themen