2012-08-29 17 views
8

का उपयोग कर फेसबुक प्रोफाइल तस्वीर प्राप्त करें मुझे नए फेसबुक एसडीके के साथ उपयोगकर्ता की प्रोफाइल तस्वीर प्राप्त करने में परेशानी हो रही है। यहां पर सभी उत्तरों पुराने एसडीके से विधियों का उपयोग करते हैं जो अब काम नहीं करते हैं।3.0 एसडीके

मैंने फेसबुक के ट्यूटोरियल में अनुशंसित FBProfilePictureView का उपयोग करने का प्रयास किया है, लेकिन यह तस्वीर कैश नहीं होती है और मुझे नहीं लगता कि इसे यूआईएममेज में परिवर्तित किया जा सकता है।

क्या कोई भी कुछ मदद प्रदान कर सकता है? धन्यवाद!

उत्तर

14

ठीक है, मैं अंत में यह मिल गया निम्नलिखित का उपयोग कर:

imageData = [[NSMutableData alloc] init]; // the image will be loaded in here 
NSString *urlString = [NSString stringWithFormat:@"http://graph.facebook.com/%@/picture?type=large", user.id]; 
NSMutableURLRequest *urlRequest = 
[NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString] 
            cachePolicy:NSURLRequestUseProtocolCachePolicy 
           timeoutInterval:2]; 

// Run request asynchronously 
NSURLConnection *urlConnection = [[NSURLConnection alloc] initWithRequest:urlRequest 
                       delegate:self]; 
if (!urlConnection) 
     NSLog(@"Failed to download picture"); 

तब मैं -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data और -(void)connectionDidFinishLoading:(NSURLConnection *)connection उपयोग किया गया चित्र एक साथ रखा है।

+0

मुझे NSURLConnection * urlConnection के माध्यम से एफबी प्रोफाइल छवि मिलती है लेकिन कृपया मुझे बताएं कि मैं इसे UIImageview – nivritgupta

0

उपयोग लिंक:

https://graph.facebook.com/me?fields=picture

वर्तमान उपयोगकर्ता के प्रोफ़ाइल चित्र प्राप्त करने के।

फेसबुक Graph API explorer tool प्रदान करता है जो आप काम करने की कोशिश करना चाहते हैं या लौटा हुआ आउटपुट जांचने के लिए आसान हो सकते हैं।

यहां User API Reference का एक लिंक है।

+1

मैं अपने ऐप में कैश करने के लिए उस लिंक से कैसे जाऊं? – bmueller

1

छवि को कैश करने के लिए https://github.com/rs/SDWebImage का उपयोग करें। यूआरएल छवि का अनुरोध करने के

NSString *string = [NSString stringWithFormat:@"https://graph.facebook.com/%@?fields=picture", userid]; 
+0

पर कैसे कार्यान्वित कर सकता हूं, यूआरएल को बदलने के बाद मेरे लिए काम किया: 'एनएसएसटींग * स्ट्रिंग = [एनएसएसटींग स्ट्रिंगविथफॉर्मैट: @" https: // ग्राफ .facebook.com /% @/picture ", userid];' – smek

0

होना चाहिए आपकी समस्या से संबंधित है, तो "self.userPofilePicture.profileID = user.id,"।

फिर self.userProfile चित्र वापसी UIView तो बस इसमें देखें और प्रदर्शित करें।

पहचान निरीक्षक के साथ-साथ [FBProfilePictureView क्लास] में एपडिलेगेट कार्यान्वयन फ़ाइल में कक्षा FBProfile चित्रण दृश्य को न भूलें।

मुझे आशा है कि यह सहायक होगा।

+0

मुझे लगता है कि इसका उपयोग FBLoginView –

9

सबसे अच्छा समाधान मैंने पाया है: मैंने यूआईएममेज का उपयोग AFNetworking https://github.com/AFNetworking/AFNetworking से किया है। यह रीडायरेक्ट और कैशिंग को संभालता है ताकि आप अपने प्रत्येक उपयोगकर्ता आईडी के लिए प्रोफ़ाइल चित्र ला सकें।

NSString *imageUrl = [NSString stringWithFormat:@"http://graph.facebook.com/%@/picture", ((NSDictionary<FBGraphUser> *) [self.friends objectAtIndex: indexPath.row]).id]; 
[friendCell.imageView setImageWithURL:[NSURL URLWithString:imageUrl] placeholderImage:[UIImage imageNamed:@"profile.jpg"]]; 
+2

+1 के साथ संयोजन के रूप में किया जाना है। AFNetworking ने इसे 10x आसान बनाया –

+0

self.friends क्या है? –

+0

एफबी उपयोगकर्ताओं की सरणी – trickster77777

संबंधित मुद्दे