मुझे अपनी वेबसाइट को फेसबुक से कनेक्ट करने का प्रयास करने में समस्याएं आ रही हैं। मैं इसे क्या करना चाहता हूं, उपयोगकर्ताओं को फेसबुक से कनेक्ट करके अपने खातों को बढ़ाने की अनुमति देता है (मुझे फेसबुक के साथ लॉगिन करने में सक्षम होने की आवश्यकता नहीं है, मैं इसके बजाय ओपनआईडी का उपयोग कर रहा हूं)। मेरी वेबसाइट कोडइग्निटर ढांचे में चलती है।एक कोड इग्निटर वेबसाइट पर फेसबुक कनेक्ट करना
मैं जो कुछ भी करूँगा वह सब कुछ हटा देता है जो मैंने कोशिश की है और जब तक यह काम बंद नहीं कर लेता है तब तक आप मेरे चरणों तक चलते हैं।
चरण 1: जावास्क्रिप्ट एसडीके और XFBML
पहले सेट करें मैं अपने <html>
टैग करने के लिए FBML कल्पना के लिए एक संदर्भ जोड़ें:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en">
फिर, मेरी <body>
टैग के बाद, मैं जोड़ने :
<script src="http://static.new.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
अब यहाँ पहली समस्या मैं but have now solved था आता है। समस्या यह थी कि जावास्क्रिप्ट एसडीके के लिए दस्तावेज़ कहते हैं कि पैरामीटर के रूप में FB.init()
विधि requires the appId, लेकिन यह गलत साबित हुआ। मुझे इसके बजाय मेरी एपीकी पास करने की जरूरत थी। तो यह कोड है कि मैं के साथ समाप्त हो गया है, कि मेरे </body>
टैग से पहले चला जाता है:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
apiKey : '<?php echo $this->config->item('facebook_api_key'); ?>',
status : true,
cookie : true,
xfbml : true
});
</script>
अब मैं अपने पृष्ठों के लिए XFBML संस्थाओं में जोड़ सकते हैं, जैसे कि जो सिर्फ उम्मीद के रूप में काम करता है <fb:login-button></fb:login-button>
। मैं इसे क्लिक करता हूं और यह एक बॉक्स को पॉप करता है कि क्या मैं अपनी वेबसाइट को अपनी फेसबुक प्रोफ़ाइल तक पहुंचने की अनुमति देना चाहता हूं। मैं हाँ कहता हूं, और फिर यदि मैं फेसबुक में अपनी एप्लिकेशन सेटिंग्स की जांच करता हूं, तो मैं देख सकता हूं कि मेरी वेबसाइट को जोड़ा गया है।
तो यह चरण ठीक काम करता है।
चरण 2: तो अब मैं PHP लाइब्रेरी को जोड़ना होगा पीएचपी पुस्तकालय
ठीक सेट अप करें। तो 'कोडिनेटर फेसबुक लाइब्रेरी' के लिए एक त्वरित Google खोज Elliot Haughin's library बताती है। मैं फ़ाइलों को डाउनलोड करता हूं, उन्हें सभी जगहों पर सही जगह पर रखता हूं और फिर पुस्तकालय लोड करने पर काम करता हूं।
अब वर्तमान समस्या होती है। मैं अपने नियंत्रक निर्माता के लिए निम्न कोड (पुस्तकालय के साथ दिए गए उदाहरण से लिया गया) जोड़ें ताकि यह हर पृष्ठ पर होता है:
$this->load->library('facebook_connect');
$this->data['fb_user'] = $this->facebook_connect->user;
$this->data['fb_userid'] = $this->facebook_connect->user_id;
लेकिन मैं कुछ भी नहीं मिलता है, तो मैं print_r($this->data['fb_user']);
है। कभी। चाहे मैं फेसबुक में लॉग इन हूं, लॉग आउट हो गया हूं, लॉग इन किया है और अपनी साइट पर अपनी साइट इत्यादि आदि को जोड़ा है। उपयोगकर्ता और user_id कभी सेट नहीं होते हैं। मुझे हालांकि कोई त्रुटि नहीं है।
जहां तक मुझे पता है, मानों को सेट किया जाना चाहिए ताकि मुझे पता चले कि मेरी साइट ब्राउज़ करने वाला व्यक्ति अपने फेसबुक खाते में लॉग इन है या नहीं। यदि वे हैं, तो मैं देख सकता हूं कि उन्होंने मेरे आवेदन की अनुमति दी है या नहीं। अगर उन्होंने इसे अनुमति दी है, तो मैं उन्हें अपनी साइट से डिस्कनेक्ट कर सकता हूं, यदि नहीं, तो मैं उन्हें कनेक्ट कर सकता हूं। लेकिन अगर ये चर आबादी नहीं आती है तो मैं कुछ भी नहीं कर सकता।
मैंने पुस्तकालय के स्रोत के अंदर चारों ओर घूमने की कोशिश की है, लेकिन मैं वास्तव में इसके चारों ओर अपना सिर नहीं प्राप्त कर सकता। और मुझे आशा है कि इसके लिए वास्तविक समाधान पुस्तकालय को अलग-अलग हैकिंग में शामिल नहीं करेगा। मैं एक कोडइग्निटर विशिष्ट पुस्तकालय काम करने की उम्मीद करता हूं।
कोई विचार?
बहुत बहुत धन्यवाद। :)
फेसबुक का एक आधिकारिक php-sdk है जो कोडनिर्देशक के भीतर अच्छी तरह से काम करता है ... http: // jondavidjohn।कॉम/बी/पी – jondavidjohn