2010-09-24 10 views
7

संभव डुप्लिकेट:
How-to articles for iPhone development and Objective-C
Problem getting Facebook pictures via iOSमेरे ऐप आईफोन में fbconnect के माध्यम से उपयोगकर्ता की फेसबुक प्रोफाइल तस्वीर कैसे प्राप्त करें?

कैसे मेरे ऐप iphone में fbconnect के माध्यम से उपयोगकर्ता के फेसबुक प्रोफाइल तस्वीर प्राप्त करने के लिए?

+0

आसान तरीका: https://github.com/jonasman/JNSocialDownload –

उत्तर

16

http://developers.facebook.com/docs/api के माध्यम से गहराई से देखने का प्रयास करें। यहाँ Userpic के लिए एक लिंक है:

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

कहाँ 000000000 लॉग इन उपयोगकर्ता के एक आईडी है।

अद्यतनMichael Gaylord द्वारा: अनुरोध भेजने अलग अलग आकार की चित्र प्राप्त करने के लिए प्रकार जोड़ सकते हैं। तो आपका अनुरोध कुछ बड़ी छवि के लिए: http://graph.facebook.com/00000000/picture?type=large जैसा दिखेगा। अन्य विकल्प छोटे, सामान्य और वर्ग हैं।

+1

अनुरोध भेजने अलग अलग आकार की चित्र प्राप्त करने के लिए प्रकार जोड़ सकते हैं। तो आपका अनुरोध कुछ ऐसा दिखाई देगा: http://graph.facebook.com/00000000/picture?type=large एक बड़ी छवि के लिए। अन्य विकल्प छोटे, सामान्य और वर्ग हैं। –

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

बुलाया प्रतिनिधि विधि मिल जाएगा जीएसबी प्रारूप में सभी विवरण प्राप्त करें जो आप जीडीबी

+0

thanx rahul इसके काम ..... –

+0

मैं UIWebView में उपयोगकर्ता की प्रोफ़ाइल तस्वीर दिखाता हूं लेकिन इसमें इसका एक हिस्सा शामिल है और मैं तस्वीर को वेबव्यू के पूरे क्षेत्र को कवर करना चाहता हूं। इसे हल करने के लिए मैं क्या कर सकता हूं .... –

+0

मुझे समाधान मिलता है ......... –

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]; 
संबंधित मुद्दे