2010-09-24 28 views

回答

16

嘗試通過http://developers.facebook.com/docs/api深入瞭解。這裏是一個鏈接userpic:

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

哪裏000000000是登錄的用戶的ID。

UPDATE通過Michael Gaylord: 您還可以將類型追加到得到不同大小的圖像的請求。所以你的請求看起來像這樣:http://graph.facebook.com/00000000/picture?type=large爲一個大的圖像。其他選項很小,正常和方形。

+1

您還可以將類型追加到得到不同大小的圖像的請求。因此,您的請求將如下所示:http://graph.facebook.com/00000000/picture?type=large獲取大圖片。其他選項很小,正常和方形。 – 2012-04-18 09:53:06

4

這裏使用這些委託方法來獲取用戶的圖片。

當您創建會話,你會調用該方法requestWithDelegate你,如果成功

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

    } 
} 

你會得到這種方法響應後會得到一個名爲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]; 
} 

委託方法得到json格式的所有細節你可以在GDB中看到

+0

thanx rahul其作品..... – 2010-09-24 11:57:28

+0

我在UIWebView中顯示用戶的個人資料圖片,但它涵蓋了它的一部分,我希望圖片覆蓋了整個webview區域。我能做些什麼來解決它... – 2010-09-24 12:28:42

+0

我得到的解決方案......... – 2010-09-25 04:24:39

16

我想最簡單的方法是這樣的:

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]; 
相關問題