2010-09-24 64 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]; 
相关问题