2010-06-17 18 views
69

का उपयोग कर एक पेज की तरह 'ग्राफ' एपीआई का उपयोग करके मैं एक अधिकृत उपयोगकर्ता "जैसे" एक पृष्ठ प्राप्त करने में सक्षम होना चाहता हूं।फेसबुक ग्राफ एपीआई

मैं निम्नलिखित

https://graph.facebook.com/${PAGE_ID}/likes?access_token=${ACCESS_TOKEN}

पोस्टिंग की कोशिश की और मैं एक HTTP त्रुटि 500 ​​"अवैध post_id पैरामीटर" JSON उत्तर शरीर में के साथ मिलता है। ऐसा लगता है कि /likes संसाधन दीवार पोस्ट पसंद करने के लिए उपयुक्त है, न कि पृष्ठ। मैं इसे किसी पृष्ठ के साथ काम करने के लिए कैसे प्राप्त करूं?

उत्तर

3

मुझे विश्वास है कि विशिष्ट साझेदार साइटों को छोड़कर यह अनुमति नहीं है, जैसे yelp। कारण सुरक्षा है, आप किसी पृष्ठ पर कुछ जावास्क्रिप्ट डालने में सक्षम होंगे और उन सभी को जो उस पृष्ठ पर "ज्ञान" के बिना अपने ज्ञान के बिना आते हैं।

फेसबुक प्लेटफार्म डेवलपर फोरम पर How do I "Like" a URL? देखें

+2

खैर नहीं वास्तव में - ग्राफ एपीआई पूछकर सुरक्षा समस्या की इस प्रकार की को रोकने के लिए एक पहुँच टोकन का उपयोग करता है उपयोगकर्ता स्पष्ट रूप से फेसबुक एप्लिकेशन तक पहुंच प्रदान करने के लिए। वैसे भी मैंने अपने जैसे बटन (ओपन ग्राफ एपीआई) में आईफ्रेम एम्बेड करने के फेसबुक के पसंदीदा मार्ग पर जाकर इस मुद्दे को हल किया। –

+4

"पसंद" आईएनजी (आईफ्रेम या एफबीएमएल के माध्यम से) एक आवेदन नहीं है, इसलिए कोई अतिरिक्त अनुमति की आवश्यकता नहीं है, यह आवश्यक है कि आप फेसबुक में लॉग इन हों। मैं अभी भी एक कस्टम होस्ट बटन रखने का एक तरीका ढूंढ रहा हूं जो फेसबुक होस्टेड आईफ्रेम में नहीं है। – Luke

+0

ल्यूक - मैं भी! अगर आपको कोई पृष्ठ या ऐप पसंद करने के लिए कस्टम बटन (मेरे मामले में एंड्रॉइड एपीआई) रखने का कोई तरीका मिल जाए तो हमें बताएं। –

5

आप फेसबुक के भीतर एक पृष्ठ टैब या कैनवास पेज में इस कार्यक्षमता चाहते हैं (एक likegated पृष्ठ के भीतर से पेज को पसंद करने के लिए अनुमति देने के लिए कहते हैं), तो आप के चारों ओर एक काम कर सकते हैं टॉम वेल्स ने ल्यूक के जवाब में सुझाव दिया कि क्या शामिल है। आप पहली बार अपने पृष्ठ पर अपने तरह बटन के आइफ्रेम संस्करण एम्बेड करते हैं, और फिर बस इतना की तरह अपने जे एस में edge.create घटना के लिए सुन: आप क्या होता है उपयोगकर्ता है जब साथ के साथ सौदा कर सकते हैं,

FB.Event.subscribe('edge.create', 
    function(response) { 
     alert('You liked the URL: ' + response); 
     // ... 
    } 
); 

कॉलबैक में पेज को पसंद आया, जैसे कि गेट पेज से दूर नेविगेट करना, या केवल पसंद की गई सामग्री दिखाना।

जब उपयोगकर्ता आईफ्रेम जैसे बटन पर क्लिक करता है, तो आपके जेएस कोड को edge.create ईवेंट प्राप्त करना चाहिए, यह मानते हुए कि आईफ्रेम को प्रश्न के पृष्ठ के यूआरएल को इंगित करने के लिए कॉन्फ़िगर किया गया था।

+1

मुझे लगता है कि ओपी यह कह रहा है कि इसे एक पारंपरिक नियंत्रण के माध्यम से "जैसे" पारित करने के तरीके के रूप में, इस प्रोग्राम को कैसे करना है। –

42

फेसबुक ने आधिकारिक built-in Like action का उपयोग कर यूआरएल के फेसबुक के बाहर पसंद करने के लिए समर्थन की घोषणा की है। आपको publish_actions अनुमतियां रखने की आवश्यकता है। इस के लिए ग्राफ यूआरएल है: https://graph.facebook.com/[User FB ID]/og.likes?object=OG_OBJECT_URL&access_token=USER_ACCESS_TOKEN

हालांकि, अगर आप इस का उपयोग नहीं कर सकते हैं वर्तमान में फेसबुक पर एक पेज को पसंद करने, के रूप में documentation states:

के लिए फेसबुक पेज या वेबसाइट पर फेसबुक प्रमाणीकरण एकीकृत नहीं है , डेवलपर्स को लाइक बटन सोशल प्लगइन का उपयोग करना जारी रखना चाहिए।

+0

मुझे नहीं लगता कि आप अंतर्निहित कैशन का उपयोग कर एक पृष्ठ को पसंद कर सकते हैं। क्या आप पुष्टि कर सकते हैं? – AbhinavVinay

+0

@AbhinavVinay यह सही है। मैंने जवाब अपडेट किया। – bkaid

+0

क्या कोई फेसबुक डेवलपर संसाधन है जो कहता है कि आप अंतर्निहित फेसबुक पेजों पर उपयोग नहीं कर सकते हैं। ऐसा नहीं है कि मैं आपको विश्वास नहीं करता, लेकिन मैं समझने की कोशिश कर रहा हूं कि ऐसा क्यों है। क्या आप अंतर्निहित दस्तावेज़ पृष्ठ पर इस कथन का जिक्र कर रहे हैं: "किसी भी ओपन ग्राफ एक्शन के साथ, किसी ऐप द्वारा अंतर्निहित कार्यवाही का उपयोग, प्रस्तुत करने और अनुमोदित करने की आवश्यकता है। फेसबुक पेज या वेबसाइटों के लिए फेसबुक प्रमाणीकरण के साथ एकीकृत नहीं, डेवलपर्स को पसंद बटन सोशल प्लगइन का उपयोग जारी रखना चाहिए। " –

5

यदि आपका ऐप एक खुला ग्राफ ऐप है, तो अब आप एपीआई का उपयोग करना पसंद कर सकते हैं, और अब बटन की आवश्यकता नहीं है।

https://developers.facebook.com/docs/opengraph/actions/builtin/likes/

+5

जैसा कि दस्तावेज़ों में और बीके के उत्तर में बताया गया है, यह फेसबुक पेजों के लिए काम नहीं करता है, केवल अन्य वस्तुओं के लिए – Igy

9

अद्यतन जून वर्ष 2016

यह अभी भी संभव हो, एक पेज फेसबुक एपीआई का उपयोग कर पसंद करने के लिए के रूप में के बारे में बनाया जा रहा है/अद्यतन कर रहा है/हटाया जा रहा है /{user_id}/likesdocumentation page में कहा गया है नहीं है:

आप इस ऑपरेशन को इस एंडपॉइंट पर नहीं कर सकते हैं।

पिछले संस्करणों में संदेश स्पष्ट था (नीचे उद्धरण देखें), लेकिन परिणाम समान है: यह संभव नहीं है।

मई 2014

/{user-id}/likes प्रलेखन पेज स्टेट्स फेसबुक पेज के बारे में Publishing Likes:

आप इस बढ़त का उपयोग कर प्रकाशित नहीं कर सकते, के रूप में यह माध्यम से एक फेसबुक पेज को पसंद करने के लिए संभव नहीं है कोई एपीआई। यदि आप चाहते हैं कि लोग आपके ऐप में एक पेज पसंद कर सकें तो आपको लाइक बटन का उपयोग करना चाहिए।

यह सबसे स्पष्ट और स्पष्ट बयान है जो मुझे प्रश्न का उत्तर देने में सक्षम है।

0

आप फेसबुक एपीआई का उपयोग कर कोड का निम्न भाग का उपयोग कर अपने ऑब्जेक्ट id के साथ एक वस्तु की तरह कर सकते हैं

[FBRequestConnection startForPostWithGraphPath:[NSString stringWithFormat:@"/%@/likes",{object_id}] graphObject:nil completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
    //do you customisation post like here 
}]; 
संबंधित मुद्दे