2011-05-30 17 views
18

मैं यूआरएल द्वारा फेसबुक से एक छवि हो रही है की बड़ा प्रोफ़ाइल तस्वीर प्राप्त करने के लिए: http://external.ak.fbcdn.net/safe_image.php?d=d282e1e7c86c9270232f97ddc737df39&w=90&h=90&url=http%3A%2F%2Fi52.tinypic.com%2F2q0ixzl.jpgकैसे एक फेसबुक पेज

अब, मैं एक बड़ा संस्करण चाहते हैं, जैसे 200 200 से वहाँ उस के लिए एक यूआरएल है? यदि नहीं, तो मैं इस छवि को बड़े आकार में कैसे परिवर्तित कर सकता हूं?

+0

यह एक प्रोफ़ाइल फ़ोटो है? –

+0

हाँ यह .......... – PJR

+0

तस्वीर की चौड़ाई और ऊंचाई सेट करके –

उत्तर

52

आम तौर पर अगर आप एक उपयोगकर्ता या पृष्ठ के प्रोफ़ाइल चित्र एकत्र करना चाहते हैं, आइकन आकार तस्वीर के लिए प्रारूप है:

http://graph.facebook.com/[page id/profile id]/picture 

और बड़े चित्र के लिए:

http://graph.facebook.com/[page id/profile id]/picture?type=large 

संपादित करें नोट करने के लिए अंक: यदि फेसबुक सर्वर पर संग्रहीत छवि 200 * 200 आयामों से कम है, तो आप छवि को उच्चतम रिज़ॉल्यूशन के रूप में प्राप्त करेंगे जैसे: 128 * 160। या तो आप जीडी पुस्तकालय का उपयोग कर इसका आकार बदल सकते हैं।

और एक और बात

फेसबुक 200 * 600px प्रोफ़ाइल फ़ोटो के लिए सर्वोच्च संकल्प के रूप में समर्थन करता है। पहलू अनुपात को बनाए रखकर इन आयामों में फिट होने के लिए यह एक छवि का आकार बदल जाएगा।

* अद्यतन 2017 *

रूप में 19 वीं फरवरी, हम इस नए यूआरएल गठन उपयोग करने के लिए एक वांछित प्रोफ़ाइल छवि प्राप्त करने की आवश्यकता।

http://graph.facebook.com/{profile_id}/picture?width={number‌​}&height={number} 

[आप https://stackoverflow.com/users/2829128/vay]

+0

@PJR - क्या आप उत्तर को सही के रूप में चिह्नित कर सकते हैं भविष्य में इस प्रश्न से दूसरों को मदद इकट्ठा करना आसान बनाता है। धन्यवाद। –

+0

क्या 200 * 600 से बड़ी तस्वीर पाने का कोई और तरीका है? –

+0

बहुत बहुत उपयोगी है मैं इस समाधान को देख रहा था बहुत धन्यवाद – Muhammed

23

धन्यवाद आप एक बड़ी तस्वीर तुम सिर्फ ऊंचाई सेट कर सकते हैं प्राप्त करना चाहते हैं और चौड़ाई आप इस तरह चाहते हैं:

http://graph.facebook.com/[page id/profile id]/picture?width=[number]&height=[number] 

अधिक जानकारी और उदाहरण यहाँ: Pictures - Facebook Developers

+2

यह उत्तर होना चाहिए, imho। – silent

+1

धन्यवाद, मेरे लिए काम करता है –

+0

स्वीकार्य उत्तर होना चाहिए! धन्यवाद। – AlexioVay

0

हां, एक फेसबुक पेज की मूल (अधिकतर बड़ी) प्रोफ़ाइल तस्वीर प्राप्त करने का एक तरीका है।

वास्तव में उत्तर पहले से ही प्रश्न में है। मूल छवि यूआरएल पहले से ही save_image url में एम्बेडेड है। आपके मामले में यह "url = http% 3A% 2F% 2Fi52.tinypic.com% 2F2q0ixzl.jpg" जिसका अर्थ है "http://i52.tinypic.com/2q0ixzl.jpg"

मेरे मामले में, लंदन के लिए पेज

https://www.facebook.com/pages/London-United-Kingdom/106078429431815?fref=ts 

मैं है आसानी से खोज कीवर्ड लंदन द्वारा अपने अमेरिकन प्लान वस्तु आईडी प्राप्त कर सकते हैं। मैं चौड़ाई और ऊंचाई पैरामीटर का उपयोग करने की कोशिश की है। वे उपयोगकर्ता प्रोफ़ाइल तस्वीर या उपयोगकर्ता साझा तस्वीर के साथ काम करते हैं लेकिन सार्वजनिक पृष्ठों प्रोफ़ाइल तस्वीर के साथ काम नहीं कर सकते हैं।

https://graph.facebook.com/106078429431815/picture?width=300&height=300 // can’t work 

सबसे बड़ी तस्वीर मैं इसे यूआरएल का पालन करके प्राप्त कर सकता हूं एच केवल 180x77

https://graph.facebook.com/106078429431815/picture?type=large 

लेकिन मैं सुरक्षित_माज प्राप्त कर सकता हूं।अमेरिकन प्लान ग्राफ एपीआई, और मूल छवि यूआरएल का उपयोग करके php url पैरामीटर 'url खंड

"url": "https://fbexternal-a.akamaihd.net/safe_image.php?d=AQCrtKykRotXBuaS&w=180&h=540&url=http%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2Farchive%2F2%2F21%2F20141005220235%2521City_of_London_skyline_at_dusk.jpg%2F720px-City_of_London_skyline_at_dusk.jpg&fallback=hub_city&prefix=d" 

यहाँ कोड मैं प्रयोग किया जाता है के अंदर भी है।

[FBRequestConnection startWithGraphPath:[NSString stringWithFormat:@"/%@/picture?redirect=false&type=large",[firstCityPage objectForKey:@"id"]] 
        completionHandler:^(
             FBRequestConnection *connection, 
             id result, 
             NSError *error 
             ) { 

         NSString *profileImgUrl = [NSString stringWithFormat:@"http://graph.facebook.com/%@/picture?type=large", [firstCityPage objectForKey:@"id"]]; 

         if (error==nil) { 
          NSString *fbSaveImgUrl = [[(NSDictionary*)result objectForKey:@"data"] objectForKey:@"url"]; 

          NSURLComponents *urlComponents = [NSURLComponents componentsWithURL:[NSURL URLWithString:fbSaveImgUrl] 
                     resolvingAgainstBaseURL:NO]; 

          for (NSURLQueryItem *queryItem in urlComponents.queryItems) { 
           if ([queryItem.name isEqualToString:@"url"]) { 
            profileImgUrl = queryItem.value; 
            break; 
           } 
          } 

         } else { 
          NSLog(@"%@",[error description]); 
         } 

         NSLog(@"url: %@", profileImgUrl); 

         ... 
        }]; 

लेकिन जोखिम हैं।

  1. कोई गारंटी नहीं कि बाहरी छवि यूआरएल मान्य होगा।

  2. फेसबुक सुरक्षित_image url में स्पष्ट बाहरी यूआरएल को हटा सकता है या भविष्य में डेवलपर से safe_image url को छुपा सकता है।

इसे अपने जोखिम पर उपयोग करें।

6

यह भी काम करेंगे

picture.type (बड़े)

उदाहरण

if ([FBSDKAccessToken currentAccessToken]) { 
    [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"picture.type(large),name, email"}] 
    startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
     if (!error) { 
      NSLog(@"fetched user:%@", result); 
      NSMutableDictionary *data=[[NSMutableDictionary alloc]init]; 
      data=result; 


      fbId.text=[data valueForKey:@"id"]; 
      userName.text=[data valueForKey:@"name"]; 
      _emailFB.text=[data valueForKey:@"email"]; 



      NSDictionary *dictionary = (NSDictionary *)result; 

      NSDictionary *data3 = [dictionary objectForKey:@"picture"]; 
      NSDictionary *data2 = [data3 objectForKey:@"data"]; 
      NSString *photoUrl = (NSString *)[data2 objectForKey:@"url"]; 

      NSLog(@"Photo : %@",photoUrl); 


     } 
    }]; 
} 

}

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