2012-08-10 13 views
24

मुझे चयन दृश्य उपयोगकर्ता सेट (यदि वे बड़ी छवि का उपयोग करते हैं) के साथ फेसबुक फोटो कैसे प्राप्त कर सकते हैं। यदि मैं पथ ग्राफ में टाइप = "बड़ा" या "सामान्य" या "छोटा" उपयोग करता हूं तो मुझे छवि मिलती है लेकिन यह वर्ग नहीं है और यह उपयोगकर्ता सेट का चयन दृश्य नहीं है। तो, मैं स्क्वायर प्रकार के साथ फोटो कैसे प्राप्त कर सकता हूं और उपयोगकर्ता सेटग्राफ एपीआई फोटो स्क्वायर (100x100)

+0

'चित्र 'के लिए कुछ भी 100x100 वर्ग नहीं मिलता है, केवल एक छोटा 50x50 ...' https://developers.facebook.com/docs/graph-api/reference/v2.0/user/चित्र 'कुछ छवियां वर्ग नहीं हैं और उन्हें वापस कर दिया जाएगा। – vsync

उत्तर

3

square का उपयोग करने का प्रयास करें। इस प्रकार है:

http://graph.facebook.com/[user_id]/picture?type=square

वर्ग आकार 50x50 तक सीमित है। यदि आप एक बड़े आकार चाहते हैं, तो आपको स्क्वायर संस्करण को बड़ा करना होगा या बड़े संस्करण को फसल करना होगा।

यदि आपको किसी छवि को पुनर्प्राप्त करने और क्रॉप करने पर कोई फर्क नहीं पड़ता है, तो कोड के लिए मेरे tutorial here का पालन करें। यह आपको 50px से बड़े वर्ग छवियों को उत्पन्न करने देगा।

48

आप type=square के लिए सामान्य से एक width और height पैरामीटर सेट के साथ एक तस्वीर का अनुरोध करके (जो आकार में केवल 50x50 पिक्सेल हो जाएगा) की तुलना में अधिक आयामों के एक वर्ग तस्वीर मिल सकती है। , "तस्वीर" कनेक्शन

https://developers.facebook.com/docs/reference/api/user/ देखें, बोली:

"साथ ही, आप चौड़ाई और ऊंचाई URL पैरामीटर एक विशिष्ट आकार की एक तस्वीर का अनुरोध करने के लिए निर्दिष्ट कर सकते। यह एक उपलब्ध प्रोफ़ाइल चित्र अनुरोधित आकार में निकटतम लौटाएगा और पहलू अनुपात का अनुरोध करेगा। [...] यदि चौड़ाई = ऊंचाई, हम हमेशा एक वर्ग चित्र वापस आ जाएगी "

उदाहरण:

https://graph.facebook.com/4/picture?type=square - श्री ज़ुकेरबर्ग की"। सामान्य "वर्ग प्रोफ़ाइल फ़ोटो, आकार 50x50

https://graph.facebook.com/4/picture?width=100&height=100 - 100x100 पिक्सेल, अनुरोध आकार के लिए सही मिलान

https://graph.facebook.com/4/picture?width=150&height=150 - 150x150 के लिए पूछना, इसके बजाय 156x156 प्राप्त करना।

यदि आप कभी-कभी ऐसी छवियां प्राप्त कर सकते हैं जो शायद थोड़ा बड़ा (या छोटा) हो तो अनुरोध किया गया आकार, आपको ठीक होना चाहिए।

अन्यथा यह कुछ परीक्षण करने के लिए कुछ परीक्षण करेगा कि क्या कुछ वर्ग छवि आकार हैं जो फेसबुक हमेशा "स्टॉक में" होंगे और सटीक मिलान प्रदान करेंगे, या यदि यह तस्वीर के आधार पर प्रत्येक उपयोगकर्ता के लिए भिन्न हो सकता है उन्होंने अपलोड किया।

+0

अगर अवतार बड़ी तस्वीर है और उपयोगकर्ता दृश्य पोर्ट में छवि सेट करने के लिए चित्र को स्थानांतरित करता है, तो यह गलत फ़ाइल (छवि वापसी जो आकार नहीं चाहता है या कभी-कभी यह उपयोगकर्ता सेट के बंदरगाह में छवि नहीं है) मिलता है। मैं इस मामले को कैसे संभाल सकता हूं? –

+1

@HuyTran https://graph.facebook.com/zuck/picture?type=square ** ** ** उपयोगकर्ता सेट के दृश्य पोर्ट में एक स्क्वायर छवि लौटाता है। – borisdiakur

+2

@ लेगो: उस पथ के साथ मैं दृश्य पोर्ट में छवि प्राप्त कर सकता हूं और यह आकार 50x50 है। लेकिन मुझे आकार 100x100 चाहिए, जो उपयोगकर्ता बड़ी छवि अपलोड करता है और छवि को स्थानांतरित नहीं करता है (संपादित थंबनेल में) -> पथ 'graph.facebook.com/zuck/picture का परिणाम? चौड़ाई = 100 और ऊंचाई = 100' बिल्कुल छवि प्राप्त होगी आकार के साथ मैं चाहता हूं कि उपयोगकर्ता उस छवि को स्थानांतरित करे -> छवि के परिणाम का आकार 50x50 है। मुझे नहीं पता कि क्या हो रहा है? –

1

user's profile data using FQL के लिए पूछताछ करके फोटो प्राप्त करें। आपके मामले में आपको किसी भी एक्सेस टोकन की आवश्यकता नहीं है।

वस्तु के लिए सबसे बड़ा आकार वर्ग प्रोफ़ाइल तस्वीर के लिए URL पूछे जा रहा है: वहाँ एक स्तंभ pic_crop कहा जाता है जो एक वस्तु है कि uri आप की जरूरत में शामिल है। width, height: इस तस्वीर के पिक्सेल आयाम। left, top, right, bottom: इस प्रोफ़ाइल तस्वीर के लिए फसल चयनित उपयोगकर्ता के पिक्सेल समन्वय।

अपनी क्वेरी का परीक्षण करने के लिए Graph API Explorer का उपयोग करें।


अद्यतन: फेसबुक क्वेरी लैंग्वेज (FQL) संदर्भ से:

Version 2.0 फेसबुक मंच एपीआई के पिछले संस्करण जहां FQL उपलब्ध हो जाएगा है। 2.0 के बाद संस्करण FQL का समर्थन नहीं करेंगे। कृपया FQL के बजाय Graph API का उपयोग करने के लिए अपने एप्लिकेशन माइग्रेट करें। वर्तमान संस्करण जानकारी के लिए कृपया हमारे changelog देखें।

+1

भविष्य के पाठकों के लिए: FQL को बहिष्कृत किया जा रहा है – Raptor

12
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{ @"fields" : @"id,name,picture.width(100).height(100)"}] 
     startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
      if (!error) { 
      } 

के बजाय 100 आप 200, 300 एन्क्रिप्ट प्रतिक्रिया रख दिया और यह कुंजी

+0

यह विकल्प मेरे लिए बेहतर है –

+0

क्या आप इस पोस्ट को चेक कर सकते हैं और मेरी मदद कर सकते हैं http://stackoverflow.com/questions/37135893/high-resolution-images-from-facebook – Jecky

2

यह मेरे लिए काम किया साथ मिल सकता है। निम्न क्वेरी जांचें, NSString * graphPath = [NSString stringWithFormat:@"%@?fields=photos.fields(id,link,source)", albumID];