2012-03-05 15 views
15

मैं फेसबुक एपीआई का उपयोग करके उपयोगकर्ता की न्यूज़ फीड ला रहा हूं और पेज पर कुछ डेटा प्रदर्शित कर रहा हूं। हालांकि, मुझे दीवारों की पोस्ट में परेशानी हो रही है। एपीआई द्वारा लौटाए गए डेटा को वॉल्यूम पोस्ट को उपयोगकर्ता पोस्टिंग द्वारा "स्थिति" अपडेट माना जाता है, और डेटा में यह कहने के लिए फ़ील्ड शामिल नहीं है कि दीवार पोस्ट किसने लिखा है। क्या यह जांचने के लिए किसी आइटम से पूछना संभव है कि यह दीवार पोस्ट है या नहीं? या क्या कोई तरीका है कि मैं प्राप्तकर्ता का नाम प्राप्त कर सकता हूं?फेसबुक एपीआई - दीवार पोस्ट के साथ समाचार फ़ीड

FB.api('/me/home', function (response) { console.log(response) });

एक दीवार के बाद बस मुझे message (दीवार पोस्ट की सामग्री) और status की type दे देंगे:

यहाँ कोड मैं उपयोगकर्ता के समाचार फ़ीड लाने के लिए उपयोग कर रहा हूँ है। उदाहरण के लिए:

ओलिवरजॉन की दीवार पर लिखा था, तो कह रही: "हाय", फेसबुक मुझे देता है:

{ 
    from: { 
     name: "Oliver" 
    }, 
    message: "Hi", 
    type: "status" 
} 

वहाँ मुझे बताने की यह एक दीवार पोस्ट है और न ही जो है कुछ भी नहीं है प्राप्तकर्ता है नतीजे में कुछ अन्य मनमाना डेटा शामिल हैं लेकिन इनमें से कोई भी मदद नहीं करता है (id, created_time, आदि)

उत्तर

31

फेसबुक ने इस विषय को अत्यधिक भ्रमित कर दिया है। बस ग्राफ़ एपीआई में उपयोगकर्ता वस्तु पर अपनी दस्तावेज़ीकरण पढ़ने आप अनुमान लगा छोड़ देता है: http://developers.facebook.com/docs/reference/api/user/

/उपयोगकर्ता/फ़ीड उपयोगकर्ता की दीवार।

/उपयोगकर्ता/घर उपयोगकर्ता की समाचार फ़ीड।

/उपयोगकर्ता/स्थिति उपयोगकर्ता की स्थिति अपडेट।

क्यों वे "दीवार"/उपयोगकर्ता/दीवार और "समाचार फ़ीड"/उपयोगकर्ता/न्यूज़फीड "स्टेटस अपडेट" नहीं हो सकते थे क्योंकि उपयोगकर्ता/स्टेटसअपडेट्स को सरल बनाने के लिए मैं कभी नहीं जानता!

इसलिए स्थिति अपडेट की एक सूची प्राप्त करने के लिए, HTTP को वर्तमान उपयोगकर्ता के लिए http://graph.facebook.com/me/statuses?access_token=ValidUserAccessToken पर प्राप्त करें।

दीवार स्ट्रीम आइटमों की एक सूची प्राप्त करने के लिए, HTTP को वर्तमान उपयोगकर्ता के लिए http://graph.facebook.com/me/wall?access_token=ValidUserAccessToken पर प्राप्त करें।

घर फ़ीड स्ट्रीम आइटम की एक सूची प्राप्त करने के लिए, HTTP को वर्तमान उपयोगकर्ता के लिए http://graph.facebook.com/me/home?access_token=ValidUserAccessToken पर प्राप्त करें।

आप "से" के पार चलो और आपको आश्चर्य है जो इसे करने के लिए है, यह है उपयोगकर्ता के लिए जो पहुँच है टोकन "से" आप जब /me/.... बुला उपयोग कर रहे हैं या यदि कोई विशिष्ट आईडी /UserId/... के साथ अपने बुला तो यह उपयोगकर्ता हो जाएगा "टू" के लिए आईडी।


एक और सोचा: धारा FQL तालिका वस्तु (developers.facebook.com/docs/reference/fql/stream) से पूरा वस्तु ले लो और कुछ जानकारी है कि ग्राफ़ वस्तु के माध्यम से संपर्क में नहीं है वहाँ अगर देखते हैं।

+0

आपके स्पष्टीकरण के लिए धन्यवाद। मैं '/ me/home' का उपयोग कर रहा हूं, जो मुझे उपयोगकर्ता की समाचार फ़ीड देता है। उस समाचार फ़ीड में, यह मुझे दोस्तों के बीच दीवार पोस्ट दिखाएगा।उस स्थिति में, "टू" वह उपयोगकर्ता नहीं है जिस पर कॉल करने के लिए मैं उपयोग कर रहा हूं, लेकिन यह मुझे यह भी नहीं बताता कि यह कौन है। यह वास्तव में मेरी समस्या है। अगर मैं ** बॉब ** हूं, तो मैं अपने समाचार फ़ीड में ** ओलिवर ** से ** जॉन ** तक एक दीवार पोस्ट देख सकता हूं। लेकिन एपीआई मुझे यह नहीं बताएगा कि यह जॉन के लिए है। क्या इसका कोई मतलब है? –

+2

स्ट्रीम FQL तालिका ऑब्जेक्ट (http://developers.facebook.com/docs/reference/fql/stream/) से पूर्ण ऑब्जेक्ट प्राप्त करें और देखें कि क्या वहां कुछ जानकारी है जो ग्राफ़ ऑब्जेक्ट के माध्यम से प्रकट नहीं हुई है। – DMCS

+1

एफक्यूएल जाने का रास्ता प्रतीत होता है। एफक्यूएल प्रतिक्रिया आपको बताती है कि यह एक दीवार पोस्ट है या नहीं। बस इसका मतलब है कि मुझे अपने कोड का भार दोबारा करना है ... अच्छा, लेकिन धन्यवाद! यदि आप FQL का उल्लेख करने के लिए अपना उत्तर अपडेट कर सकते हैं, तो मैं इसे टिक कर दूंगा :) –

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