2012-03-22 13 views
11

पर पोस्ट किए गए थे, मुझे खुले ग्राफ के साथ मेरी पृष्ठ दीवार मिल रही है। और जब कोई एक तस्वीर पोस्ट की है, मैं यह JSONउच्च रिज़ॉल्यूशन फ़ोटो प्राप्त करना जो पृष्ठ की दीवार/फ़ीड

{ 
    "id": "27888702146_10150369820322147", 
    "from": { 
     "name": "brocoli", 
     "category": "Record label", 
     "id": "27888702146" 
    }, 
    "message": "Vincent Epplay/David Fenech/Jac Berrocal \u00e0 Beaubourg ce soir, 19h, gratos.", 
    "picture": "http://photos-f.ak.fbcdn.net/hphotos-ak-snc7/305819_10150369820292147_27888702146_8255527_583491475_s.jpg", 
    "link": "https://www.facebook.com/photo.php?fbid=10150369820292147&set=a.386279807146.165840.27888702146&type=1", 
    "icon": "http://static.ak.fbcdn.net/rsrc.php/v1/yz/r/StEh3RhPvjk.gif", 
    "type": "photo", 
    "object_id": "10150369820292147", 
    "created_time": "2011-10-16T08:22:21+0000", 
    "updated_time": "2011-10-16T08:22:21+0000", 
    "likes": { 
     "data": [ 
      { 
       "name": "brocoli", 
       "category": "Record label", 
       "id": "27888702146" 
      }, 
      { 
       "name": "Agathe Morier", 
       "id": "601668526" 
      } 
     ], 
     "count": 2 
    }, 
    "comments": { 
     "count": 0 
    }, 
    "is_published": true 
    } 

समस्या पर मिलता है कि चित्र लिंक चित्र के एक कम संकल्प प्रतिलिपि है।

मैं कैसे पूरी तस्वीर का URL मिल सकता है?

धन्यवाद !!

बेस्ट

Geoffroy

+0

समाधान नीचे दिए गए जवाब से काम कर रहा नहीं मिला है। –

उत्तर

17

साथ यह object_id (तस्वीर नहीं post_id जो परिणाम आपके द्वारा दी गई में id है) आप ग्राफ़ एपीआई पूछताछ की photo के विभिन्न संस्करण प्राप्त कर सकते हैं।

एक बार जब आप photo यूआरएल और आयामों के साथ images की सरणी वस्तु id से आप मिल जाएगा का अनुरोध करेंगे: इस संहिता

http://graph.facebook.com/10150369820292147?fields=images 
+0

शानदार! यह एक सम्मोहन की तरह काम करता है! बहुत धन्यवाद! – geoffroy

+0

बहुत धन्यवाद ... बिल्कुल सही – Superdev

+0

बहुत बहुत धन्यवाद।महान उत्तर :) – Supertecnoboff

2

का प्रयोग करें। मेरे लिए अपने काम और मिल साफ छवि

String PICTURE_URL; 

String getPicture = hashMap.get("picture"); 
     if (getPicture.contains("_t.")) { 
      PICTURE_URL = getPicture.replaceAll("_t.", "_n."); 
     } else if (getPicture.contains("_a.")) { 
      PICTURE_URL = getPicture.replaceAll("_a.", "_n."); 
     } else if (getPicture.contains("_s.")) { 
      PICTURE_URL = getPicture.replaceAll("_s.", "_n."); 
     } else if (getPicture.contains("_q.")) {    
      PICTURE_URL = getPicture.replaceAll("_q.", "_n."); 
     } 
     url=new URL(PICTURE_URL); 
     Bitmap bitmap=BitmapFactory.decodeStream(url.openConnection().getInputStream()); 
     ((ImageView)view.findViewById(R.id.imageView_FullImage)).setImageBitmap(bitmap); 
+0

थोड़ा सा हैकी हो सकता है, लेकिन यह काम करता है;) – stealthcopter

+1

मेरे द्वारा यह कभी-कभी काम करता है और कभी-कभी नहीं .... फेसबुक ने इतनी बेवकूफ क्यों बनाई है –

+3

यह अब काम नहीं कर रहा है –

4

आप मुख्य पदों की सूची से यह कर सकते हैं अब

/v2.3/105753476132681/posts?limit=5&fields=likes.summary(true),comments.summary(true), attachments 

का उपयोग कर संलग्नक काम नहीं करता है, full_picture कोशिश - लेकिन यह है कि सिर्फ 100x100 छवि दे दी है मेरे लिए भी।

संलग्नक छवि का एक 640x480 संस्करण में कम से कम (। यकीन नहीं कि मेरी मूल तस्वीर का आकार था)

5

तुम सब करने की ज़रूरत है के साथ एक डेटा हैश रिटर्न:

http://graph.facebook.com/me?fields=picture.height(961) 
// replace 961 with your required height which u want 
+1

यह स्वीकार्य उत्तर होना चाहिए । अभी काम कर रहा है केवल एक चीज। –

3

हालांकि एक का अनुरोध object_id द्वारा फोटो विभिन्न आयामों वाली छवियों की एक सरणी वापस कर देगा, कुछ मामलों में इस दृष्टिकोण को फेसबुक एपीआई को अतिरिक्त कॉल की आवश्यकता होगी।

एक सरल तरीका मानकों की अपनी सूची है, जो सर्वोच्च संकल्प पद से संबद्ध चित्र निकाल देंगे करने के लिए full_picture जोड़ना है।

/v2.2/6275848869/posts?fields=full_picture 
उदाहरण के लिए

, आप एपीआई 3 बार फोन करने के लिए आवश्यकता होगी अगर आप अतीत एक्स दिनों में एक फेसबुक पेज की सभी पोस्ट, object_id दृष्टिकोण के साथ निकालना चाहते हैं:

  1. करने के लिए पेज जानकारी प्राप्त करें।
  2. पोस्ट की सूची निकालने और प्रत्येक पद के लिए object_id प्राप्त करने के लिए।
  3. प्रत्येक object_id के लिए, उच्च रिज़ॉल्यूशन छवियों की सूची पुनर्प्राप्त करने के लिए।
संबंधित मुद्दे